From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=104.47.34.111; helo=nam01-by2-obe.outbound.protection.outlook.com; envelope-from=christopher.co@microsoft.com; receiver=edk2-devel@lists.01.org Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0111.outbound.protection.outlook.com [104.47.34.111]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 43314220E8CB2 for ; Fri, 13 Apr 2018 16:43:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Rb1hoSEJbzl4OqPTR4mH3+zAFuLLBLbOWh35KETxgi0=; b=HYkwfNzmilnYGucJ8RDXEMY7plwhsZogh409L/nh+dFVy8Db8mJ7IudlBp08H7lHKrerIx4Ta3KSIf7luq3DNob4/1p3Ol3Az4/T9bre/PJ4Tv71v/lYytZiFzzm9Mx/pzJRCwWPvD3VV+St+XKgNm+2GfXMtQlD2Jy2Pg55c5Y= Received: from MWHPR21MB0478.namprd21.prod.outlook.com (10.172.102.17) by MWHPR21MB0831.namprd21.prod.outlook.com (10.173.51.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.696.0; Fri, 13 Apr 2018 23:43:27 +0000 Received: from MWHPR21MB0478.namprd21.prod.outlook.com ([fe80::9075:c5cc:66f5:d3cf]) by MWHPR21MB0478.namprd21.prod.outlook.com ([fe80::9075:c5cc:66f5:d3cf%9]) with mapi id 15.20.0696.008; Fri, 13 Apr 2018 23:43:27 +0000 From: Chris Co To: "edk2-devel@lists.01.org" CC: Chris Co , Leif Lindholm , Ard Biesheuvel Thread-Topic: [PATCH] ArmPkg/ArmMmuLib ARM: fix Mva to use idx instead of table base Thread-Index: AQHT04E4VUgPATGz0UKOjPVxqXpwYQ== Date: Fri, 13 Apr 2018 23:43:27 +0000 Message-ID: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: MWHPR17CA0082.namprd17.prod.outlook.com (2603:10b6:300:c2::20) To MWHPR21MB0478.namprd21.prod.outlook.com (2603:10b6:300:ec::17) x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [2001:4898:80e8:e::694] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; MWHPR21MB0831; 7:Bl1F9ERJxLku9+wECejfI7KGnnxgib57cBVwbHyVCErIZxdT1SYWqD4JNMWTmBQcJLNGwl/NIS1w7kJJuDk9fVV+3RwYqoH42z/gjg0XjNAuQDTU586fc5lRZPal3T+89P1YZ3lQKaYrf2bQKxW5wTXl8CUX1roUHaMoWXYyFcq9Mx2xOqM6HJQGPd77ztUKQyrXoqD/3zaZ31rcKbtRal0YMwszH45zlsJr9GDjjLolJ0Dms6hvkE5gNpnQvVoa; 20:Pme5KkR+kehUmBDDLGBVKaWQ1D8yWcqnnT+8mzCIaEuF2fwkVF/eXMwimppDXPW6b08TDOKRpzkHdJZQtDsScbCYIgX1h1ene0llp5GurD6Ktj2cd7NzEQHk+XtR3WfiqE3/HxISeNWGTyrXbLZdLFIcIVax16SDCWRQ09C8lgs= x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(2017052603328)(7193020); SRVR:MWHPR21MB0831; x-ms-traffictypediagnostic: MWHPR21MB0831: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Christopher.Co@microsoft.com; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(28532068793085)(89211679590171); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(61425038)(6040522)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(3231232)(944501347)(52105095)(3002001)(6055026)(61426038)(61427038)(6041310)(20161123560045)(20161123564045)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:MWHPR21MB0831; BCL:0; PCL:0; RULEID:; SRVR:MWHPR21MB0831; x-forefront-prvs: 0641678E68 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(366004)(39380400002)(396003)(376002)(39860400002)(199004)(189003)(5250100002)(6512007)(99286004)(3280700002)(52116002)(68736007)(14454004)(59450400001)(6916009)(25786009)(2501003)(1857600001)(6486002)(46003)(86362001)(305945005)(102836004)(53936002)(6436002)(7736002)(3660700001)(4326008)(10290500003)(8676002)(386003)(6506007)(5640700003)(81156014)(72206003)(10090500001)(2906002)(97736004)(478600001)(105586002)(36756003)(54906003)(316002)(22452003)(186003)(6116002)(2900100001)(81166006)(106356001)(2616005)(8936002)(486006)(476003)(86612001)(2351001)(5660300001)(118296001)(22906009); DIR:OUT; SFP:1102; SCL:1; SRVR:MWHPR21MB0831; H:MWHPR21MB0478.namprd21.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 690d0711-ef3e-43b8-8aec-08d5a1985a66 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: 690d0711-ef3e-43b8-8aec-08d5a1985a66 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Apr 2018 23:43:27.0306 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR21MB0831 Subject: [PATCH] ArmPkg/ArmMmuLib ARM: fix Mva to use idx instead of table base X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Apr 2018 23:43:29 -0000 Content-Language: en-US Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Mva address calculation should use the left-shifted current section index instead of the left-shifted table base address. Using the table base address here has the side-effect of potentially causing an access violation depending on the base address value. Cc: Leif Lindholm Cc: Ard Biesheuvel Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Christopher Co --- ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c b/ArmPkg/Library/= ArmMmuLib/Arm/ArmMmuLibCore.c index 774a7ccf59..9bf4ba03fd 100644 --- a/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c +++ b/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c @@ -716,7 +716,7 @@ UpdateSectionEntries ( Descriptor |=3D EntryValue; =20 if (CurrentDescriptor !=3D Descriptor) { - Mva =3D (VOID *)(UINTN)(((UINTN)FirstLevelTable) << TT_DESCRIPTOR_= SECTION_BASE_SHIFT); + Mva =3D (VOID *)(UINTN)(((UINTN)FirstLevelIdx + i) << TT_DESCRIPTO= R_SECTION_BASE_SHIFT); =20 // Clean/invalidate the cache for this section, but only // if we are modifying the memory type attributes --=20 2.15.1.gvfs.2.39.g03d366a