From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S944180AbdEZQWv (ORCPT ); Fri, 26 May 2017 12:22:51 -0400 Received: from mail-sn1nam02on0065.outbound.protection.outlook.com ([104.47.36.65]:34528 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933114AbdEZQWm (ORCPT ); Fri, 26 May 2017 12:22:42 -0400 Authentication-Results: linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=none action=none header.from=amd.com; Subject: Re: [PATCH v5 17/32] x86/mm: Add support to access boot related data in the clear To: Matt Fleming , Borislav Petkov References: <20170418211612.10190.82788.stgit@tlendack-t1.amdoffice.net> <20170418211921.10190.1537.stgit@tlendack-t1.amdoffice.net> <20170515183517.mb4k2gp2qobbuvtm@pd.tnic> <20170518195051.GA5651@codeblueprint.co.uk> CC: , , , , , , , , , , Rik van Riel , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Toshimitsu Kani , Arnd Bergmann , Jonathan Corbet , "Michael S. Tsirkin" , Joerg Roedel , Konrad Rzeszutek Wilk , Paolo Bonzini , Larry Woodman , Brijesh Singh , Ingo Molnar , Andy Lutomirski , "H. Peter Anvin" , Andrey Ryabinin , Alexander Potapenko , Dave Young , Thomas Gleixner , Dmitry Vyukov , Ard Biesheuvel From: Tom Lendacky Message-ID: <4c2ef3ba-2940-3330-d362-5b2b0d812c6f@amd.com> Date: Fri, 26 May 2017 11:22:36 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20170518195051.GA5651@codeblueprint.co.uk> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: CY4PR18CA0040.namprd18.prod.outlook.com (10.173.177.26) To CY4PR12MB1141.namprd12.prod.outlook.com (10.168.163.149) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PR12MB1141: X-MS-Office365-Filtering-Correlation-Id: e4abcfd7-b2c1-4a6d-7023-08d4a4536e21 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(201703131423075)(201703031133081);SRVR:CY4PR12MB1141; X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1141;3:sFSdFMvCDv/6eSPRtbOUlEO6EUvu5UT5dPMSBflot4oP2baW9c7zpmnoUiOby0IqLkTxeRShjfZ1qunf9SIT68Ln+Hcs2Eo+kkGIqw9NGoODHnACThTd23sDKk2yStefvnfYBXS4Itk8NmVuRtX2WcoLqb9xOylAQ/JfRyoadF28Mz9wafKF1iAq4EAAuaJ5RJHmA3vGN7C7is0IXAZGlD3HNK6Ebh0861CYYMc1Yh5MXN0JHbOnP8ODzFbURTpX7g1i1AD6bAVJfMOk/nXOV+v7Dtq22MqbGnmonsAEgHjoAm/xBubMLB4hKcKd/S4iCLT1raIGdY43OJjGcEC7DBnmxFWj/vjDW7TEX14ULmM=;25:gFNsG7cQX6yqXZt8lopVmvoNN13uUgbydenFP0MR8ahLCxJUg4iOCkDlrfyC2UjqplyHXwMVGTg3HFZYY+kAGjTRIOATOtj3LGrLarOZPTTKKsnex4VaJ7fos7QilBpXwdVPHy98yGL+xBxz5p1MzBUlnCO/oUDmXMFXof01fs9VcQszfAT+pteysFtasxDiqCmFu97DzMuXYHosWEvCSoxb/qEf4y1CcShGg7Pp85DRmvLW8YUWvqrAym4BH9LqQfn5C9XoO/qoroFlJBTax0YTdE3G/Hs3l4z+6+QXv23HQpWVAoohZOOoZk2qGJsS7HHlmEH9Ql1FHdp9diYr763YAqXm63wYqRBNZC+JQzybNZZii2b96OaQ6jRi8UBW491RKWPtToCnWdXMjI/ZI/1rNbhauHJOp4Z1ltj4DIazbeguY8UreCr9Bfn+6vK2MqpDCm3sTymF+NfGAbCfb55DwoweDpq/oUJ8TkO2KKk= X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1141;31:SOf1/QCaGKtbReqsSeQOMP/+iSB0bMQxKB1szWgKwDzbDG+rBG0sBbbti+k9+HlranC4YlXq+UUiYVvdnyoux/UvzG+wMQdqnKBBMEZa5H81YlHL07G1qfl2ZNs3+hv7+5Guy2kmemfjmxa/VVcSeJ/7YXPjhXHhoShB3AYO0FMo85Su5sW15Wek3cIY4iE+0n5OtViuyuoz85kdq+ICuL3liLY9eKYLLyyqDJSTBiw=;20:9aWHblGI+JSrlXGtBGANtV99c/9am9dVLiILhPJwF5Uig/6HIS8CLfpTqoe7LJbrXVJJ7Vgxc4rWieGD4H91ajyDHBXzERokJMiYbpiewVKs/0qvopYmv4f+uK2mnaIRqUaesMER1PnRUztIZORaQsFr1A3ZrtSYntaQV1jS6z6sHmbENCtwBl13s18E6kQe4VJZoZR+WfAsTWBTpehIgxbyq1qC6SyIHWMk5j+H0nMAQTj81xlUezfMAoaXtaoE3uXOWKMtZMqm6iiRzlQpZj2Q5VJdhWA6iM56s2k7WZogDjU3xwZ5+cOrYcRUUkBXPAyvhSV8WRAjvkTj0wMweiiuN9BoSDUYGKxUeBkU45/loRMQJpzyEdBV6nt+298A70D8xtV7r0D2s6WrCIHx0MlKJJsda3qdjk5iGoh/pBrnb1Y4H/26uazi+/FCcFlzy1zhQia3XXIXAi0/ow78RpCnAaBI2rO8qZiqzXZhkLJtTn4pg2/JjbNEoCYEti7s X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(10201501046)(6055026)(6041248)(20161123555025)(20161123560025)(20161123558100)(20161123562025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148);SRVR:CY4PR12MB1141;BCL:0;PCL:0;RULEID:;SRVR:CY4PR12MB1141; X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1141;4:nazojs67+MfUXhDhBvAKOD4SNzD3zWL40H577xA+tEUNc2S/W/TtzLHBkuu7pttKxI6u8z9AY9fRpKI2WJR+rusUfd88ihFrwWymmKJgkCq4+NgI3a+s4PifRuz6uCkwdmi7d86X3YTIJwDpqKXpy5Wq4QVZsz4UTesX6x9q/wNjXYH29WF9TOleWwdgNR8YqYgNeHwiOVmrMSYhE++JaY84Ag1+2K7RajIvsBwToInKYOdQkFQ1Fkgk3+lHImJWzU0yIH/m2ulnRse6zbq59c6c2tOYbKTaWjcgRdjAlFBnDnZ40wEVgYiGuIeejzajFX0o/p8pWL6Er0Vc6rZwUZmYfnh+ZjN6qoXwhma/yLmtI9Fm/ozXp/K/lW9oaRYKiNZsEOSQ2pZCYiQgjCqV3eHrMT/OHSGBRGAfN6fz/slW1Y7yF0HRJ0kx2qHo3w0CTH3XkBjqNFzs79gZph62i1BWOPblaK59VjBtxUbumEZy/kwGG1j4icgpffblPD9BDV/k5Exa9X6iysaDqmkwDgtw9vqZ13QhGkIrIANuEChh8tzelW2lY1sC5GH4dZ83dGRm0sWv1NcNbpPbQ0NfJSbBl/W1aMH7d5xd2xMUWtewJZ86mEd15OJI0rOt6yo01HtX37akOp4J/jx9mf7OGw4YH72EXZX4vnMaRMzkNPHnVDDPckxC541d4AiQiI/xwLHAofMnLKF0OxWAAbHMeqHVIw6hS2601xqa+6VMXl8/i3pkujWvBbczYpxD3w/Sm3NsEPOWJZC5qoHf92jWEOOnKm86whFzSR7mqOCyinE2YUl8eXabzowU+4kvnsNP X-Forefront-PRVS: 031996B7EF X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6049001)(6009001)(39400400002)(39450400003)(39860400002)(39840400002)(39410400002)(39850400002)(24454002)(377454003)(478600001)(4001350100001)(50466002)(7406005)(6246003)(7416002)(189998001)(81166006)(54356999)(42186005)(50986999)(93886004)(8676002)(86362001)(31686004)(4326008)(64126003)(7736002)(229853002)(305945005)(33646002)(5660300001)(72206003)(53936002)(38730400002)(31696002)(65956001)(66066001)(76176999)(36756003)(2950100002)(23746002)(2906002)(53546009)(3260700006)(25786009)(83506001)(47776003)(65806001)(54906002)(230700001)(6486002)(6116002)(3846002)(90366009)(77096006);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR12MB1141;H:[10.236.64.250];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;CY4PR12MB1141;23:nhYAaCIJC756o4At7gGPZS07sDphaLzW5QszE?= =?Windows-1252?Q?2CrlHUPK9gz2MIgt8GncGjOAQdlnnzB0fLM+CLyGKBxib2jh9vCXHPz3?= =?Windows-1252?Q?X07Nwz5iyIVPseFaDzjoRlwd2sYV46T/Zv9sPwfoMy1VXeuURCPJSfU9?= =?Windows-1252?Q?QtbJ3mQ7ZSpl3shvWD9EyVEg8QMmeEqnj/wNFTR0VigzmLZgkhcpcJlp?= =?Windows-1252?Q?BfUgZesvbnYBfFgFhbFzDCUBs004uVrPdTv7JYGaEmYUrliCOHoQfXbV?= =?Windows-1252?Q?c9OgN+RzNnstop4QqfFliF6end8SebuIZGFSw1z7tQqgVU+zUjzZhTIf?= =?Windows-1252?Q?A3p5i56sF0RjOjjV5k0ZUVuOSXZkKUDgU8mNanHZFnsywC6QEqMFOYNw?= =?Windows-1252?Q?jilpWARbrbXxfs9N6J4dKZP2bpmhaVBEev0hZp7kKUkmCCdR0UlIwrpk?= =?Windows-1252?Q?E5PfKJj5nFbQYSCcfThT77uDM6gbu8RlvNgccBbxrswokDNzsmc1f64H?= =?Windows-1252?Q?Vy2W3t8BT4JFwAYDF1ExoymkC7b/LHJpaUlZI/n85GYwG+LQ2KtRmZQ5?= =?Windows-1252?Q?IeSDv1FmuBYAb8/rBnSYcT57y6qu+Rg/h56Pz260t32+PpjP/6B1lBPg?= =?Windows-1252?Q?JCE+qk0f5N1mggrx61rOkFMeTrD7E8nVspMPocYU7kNhFqtWbmPgsPFU?= =?Windows-1252?Q?0dAZ7782K9clG1KAqcImdDF17bCZljwRWyHsPvUIAOUHAEh79trVthE/?= =?Windows-1252?Q?elshNrNdZe/JJsY8AaIpgV/D1p3+Xq7iPkmMpbeyDhsoU2CDhmss8pK7?= =?Windows-1252?Q?lxT1shzbOrnSMVp+rI/zHEpi01gLONQteIylvVvKebMDttBgrC9jBiL2?= =?Windows-1252?Q?bKa888KN1li4Osk70aMZExS4p+xKo4fZjCFMbssDko4M2lmYCP+u7WUN?= =?Windows-1252?Q?J0VknQVHhxwI/Hecb4jf75vtMzM4w8G1SnhB8dl7Fk+SyZDlrsCnT2Hi?= =?Windows-1252?Q?O7Kyi26iHxajpe0gx7HcSwibTw4yjlceIpLZauHRLqSqwkIWX42Q8tCK?= =?Windows-1252?Q?arvcL1tW8k8LSwOS7ub6pUifnm+3eQ4Bu0InXC2YN7efRXWMa0ssp1Kl?= =?Windows-1252?Q?RYsgFO6bzasxdQHAN1F/BtCv4bm65D8Xan7wuvyEW2TCAumPBapMW+a3?= =?Windows-1252?Q?cko4gNA7ZFVMuQ9NGyO9a2SDbAU/f3Ahr3ztlveHkFH6q1DtkIGRzhvK?= =?Windows-1252?Q?IAEuyyjHcgFy3ccZ4EBk2Upxwy8EOgY8+9Vkg9/fPz4DfTFsxxRJh8xD?= =?Windows-1252?Q?C5JwG02FTIq1kgoJkx3EE3CwLWvlnW1MreSZSwN+SmirIBl6MIdohm8S?= =?Windows-1252?Q?UmFO5sVndUIyw8YkLuJSeLwAT3j7lpYcWyQKUMtSBfhBSKO64iVLMbGI?= =?Windows-1252?Q?PheBmN5ASlJtwcWT5Sdpd48K1JA2bXh/mSKAvQGHtiSdw1vNVXSbeBtU?= =?Windows-1252?Q?SWT7laCaKmg9AKXXZfDeH5LeCKV?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1141;6:/AvOKoS2g4A43rOsWsOBXHYtEVaNGt4Sps7QbUss3fcTogKYftc74MVWr7dbD4NLxlnrxB8jkOtsVEyimCrQVcnsf5xv9mPTadVF/O+EypijC1yfe+rgG51pXNBtzUCqfXG+HctF4aHlOvpXtnCdyoSDkGkPMGM+0nz2KHMRnwrjKgZgKRZnnCJ1nf60I4xrIVRVHAUC1GtUz7js7qI5Z9YTBPlk0bbCWubE6Q2amrQPtH6JR4jfqCLfcBN3LYkwbJk0O8C7oLkv2yPrSoQZMYmhjz+JDaFJh2O6RxY+xlR1VR9d/vGzHCZZgv88AjU/ZFL3XcC65ozqMXDaIySouEWIN0oPzx4JRIWh3zgezmONjDlRgygnI6ceD+9Gt9V4oUn4O4GWh0QxBZT1XtlIZ2t8f8J5/gSiVPM43sR5Ea2M95pPrdJlqwwosU7uq868MFsxF68/pHfgvYuH/CShWFdX8XOexrWyeH5H+eSNQjVO+dqm6dPbrZvXRaHp2ltc/wiFJebVkpZFwfJB2OsMdOqeULFnh4jMmP2j/rt0tYc=;5:QTFeSGtgmA4qNAYGGWTdMesYc6aa+a54jJrV47zQnpiTlunb7emxHshntjgDLz4TwRtq1IsQID+r8BBB0dQZRWV15Bf6Ffge8fD7TZHHcxpJQU+7r8b8plgq4OhiVGVCVGgF8Cc+rwjUK5CW5ncmyVWX2QDpbKKOyfMk5qL1064=;24:OnKwPlNhFFER/RqlINB1cayTNW4mtL6kNaWsoX+w8JM/C6rk5n6QJEIr5DWZc5+v0ZdVqDxl+KaPJk4qkL+fEppnyQOTOrokvOSmBxQ8KN0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1141;7:dd0oc/eIOPsBFd+4IAs/v2jALBUQ/aZ3AljNDYsnr+fNmCqCQICQrJdLInyJgWKeWRtAn6OroddrZMIg/JR8YBUE+3/pw2M7iRzB3YtqynUE961D6lC1JEEG/2KCv9bdb0JwHi7WEmHvxdR12zClJLsqMeYQpGyy7939iyJiM1SH2muH1AxCRlkLWyGmtEb8I2M+wI5Un/v2c1FnpPREKThQ5CKn2msu0YepDJLyPi4hZgWgV2F8UsnD25u/6fIwh+7rZQbe9TTWHffnNTw4CAHFQ/27JEJFqdjitTMOWHWN046StSGTKzUx1NrgT8qYGMvxXuPRO1BzpTkG3/teow==;20:qXXASLjxLq3c1F+qdIVHR989fQ5UydWF8ytAXFpPgBwXVw3872PdH2tDroJyPhzyNIBye326uthYbBuNfxHR822ODYmOeRQqlP84iaJbO+J8jH/xFuHRjicikOvxe9cv2dUFsaEzrcmp20JGN/tM5Dvvj+TU0S5DzKt255KB69Mle7EAoae7y5g3fiCjQK0eD8rwfRhdVQhl+CWIkV+mUG/RUdccGJoCFgmPt3C9uHK8Vzgo+uesD2MOdzYcGBOs X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 May 2017 16:22:38.8386 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1141 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 5/18/2017 2:50 PM, Matt Fleming wrote: > On Mon, 15 May, at 08:35:17PM, Borislav Petkov wrote: >> On Tue, Apr 18, 2017 at 04:19:21PM -0500, Tom Lendacky wrote: >> >>> + paddr = boot_params.efi_info.efi_memmap_hi; >>> + paddr <<= 32; >>> + paddr |= boot_params.efi_info.efi_memmap; >>> + if (phys_addr == paddr) >>> + return true; >>> + >>> + paddr = boot_params.efi_info.efi_systab_hi; >>> + paddr <<= 32; >>> + paddr |= boot_params.efi_info.efi_systab; >> >> So those two above look like could be two global vars which are >> initialized somewhere in the EFI init path: >> >> efi_memmap_phys and efi_systab_phys or so. >> >> Matt ? >> >> And then you won't need to create that paddr each time on the fly. I >> mean, it's not a lot of instructions but still... > > We should already have the physical memmap address available in > 'efi.memmap.phys_map'. Unfortunately memremap_is_efi_data() is called before the efi structure gets initialized, so I can't use that value. > > And the physical address of the system table should be in > 'efi_phys.systab'. See efi_init(). In addition to the same issue as efi.memmap.phys_map, efi_phys has the __initdata attribute so it will be released/freed which will cause problems in checks performed afterwards. Thanks, Tom >