From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752926AbdEPT3A (ORCPT ); Tue, 16 May 2017 15:29:00 -0400 Received: from mail-bn3nam01on0076.outbound.protection.outlook.com ([104.47.33.76]:47328 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752458AbdEPT24 (ORCPT ); Tue, 16 May 2017 15:28:56 -0400 Authentication-Results: google.com; dkim=none (message not signed) header.d=none;google.com; dmarc=none action=none header.from=amd.com; Subject: Re: [PATCH v5 06/32] x86/mm: Add Secure Memory Encryption (SME) support To: Borislav Petkov References: <20170418211612.10190.82788.stgit@tlendack-t1.amdoffice.net> <20170418211727.10190.18774.stgit@tlendack-t1.amdoffice.net> <20170427154631.2tsqgax4kqcvydnx@pd.tnic> <20170504143622.zy2f66e4mkm6xvsq@pd.tnic> CC: , , , , , , , , , , Rik van Riel , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Toshimitsu Kani , Arnd Bergmann , Jonathan Corbet , Matt Fleming , "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 From: Tom Lendacky Message-ID: <6d266f5b-c28d-fe19-24b5-5133532f9eea@amd.com> Date: Tue, 16 May 2017 14:28:42 -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: <20170504143622.zy2f66e4mkm6xvsq@pd.tnic> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: CY4PR16CA0004.namprd16.prod.outlook.com (10.172.173.14) To MWHPR12MB1151.namprd12.prod.outlook.com (10.169.204.15) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR12MB1151: X-MS-Office365-Filtering-Correlation-Id: 8e16509f-ce0f-4fb6-1590-08d49c91c8ca X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(201703131423075)(201703031133081);SRVR:MWHPR12MB1151; X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;3:HonHq0QqnJu2kxTnD5ANpQak99cWhJ7AQdEti5sbJKG/XH04rcGyLkmmFRuYhivYU3JX16y9NTXzYw8S0roePLDUSq9uLIjAdFW084TIkaOrqGoqwWi7FEJuk33nyHSGUTwrO9wi1ENuI7WMJ4p7Sw2gKHigWUX7GdXgQgFbCGOcK2NNNcYv4Ni3nc9d90BmSOyhRvQzor4yJyqGahNN5rTW2mkvImx+Y5VYF8WLptKE3xcg6237o3nmGcoxg6htSHe+7iIaeuJErApqD6sqSH7sWZqywC5uOP9AJxRrKMW2nOnGOZxNchtbWuk9Ro/Q6YH2GNhVHPHqEs0JfeW6Cg1F6pppdoDa+O2VQSeGiq0=;25:qkBZpbLkp07tm/tcjgZfUqDvMtyt6GT7HJwtJykWx/5Y0cJFbw4wXsWhkHe7tJAzZ/N2zh2zlBaUaqBGkHCBmDF3UDPsiIQW7Y/OAowTtJ1G5Gd/JVeZsp1bYi+e4PeOqXCtBBQPSmYBWw0IbAgtgVZsLch4Dg51uLQsX6jMdeyxN3PNYGYyrvug3tNHAecb+1YsQLKu/fiTUKXznDVjTDK82Mzntuuto5VQqeFWqc9wpm8ujKVWskf/l7I74GPRqxNyahUrQZSnc7tcd+JYiVvi3nK6IBw1YO5LUtFnGVNERQPNj3ASkDv6+ywtW/bOK9alb/6gNUWyjF07kQr4HCdYCX5uA0/lMqTYNpJ/PbSUlKM7J1wxjVG1jx9RSzL7d93fWQXEqmlwdN05b7OsshZwH19N51x6buZoy3TbY4tYgrCVdFSos1ScauZ/ens4zMS9FkGhsLOTGsbe/KT9Qk5XXTRHNFa4JKdwMA73lRo= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;31:Z5wkqaTes22TG43z0vhJcoaPinHrs+uaqLFu55qDQIIFNsy0bZCSSwymv4eXjpxXLxrMUDNDwrMOHKCdxsYO/nsyj7IzHyo8xm9SZFzcDNX4IAcgfjchM1hPne8GahIlxD8KklclVaBsciaKHkuhZ0PAB8xqH4Y1Z7cIrzma2Pi2UvzRzDKCdJIrcT0zpfoEANAIR3uUkiuKcN8qZkLpUpa29X7awvpLZnVf9y/NuAs=;20:SH2LOb99yq4hxQqRgFdB/+2Ijsf1LVDypC9hITd7U46Nj7PRuc5NOo+CGovG5oazE/NAGmq4vcyWW221uJiYhgBipe9qF+bQmRacWmMscM8mMTxPkGahiLG7cXMuoCseQEfwo4+dH4xFjLbz6PQ0hU3DQGLlHHDSSioMc/8dQtlT6PA0L0b5brVuUp2OEJURYfuc0gKomtRf1awNxuG5KyMPPclVpZIr5hzNJq5wT4XiUn3Lb+rrz3Ws1hPRJ1jw5FP2hNb0oAnsBThIxjQD5kBTpGBXn2lhMK/CWeD15A4td+OJvNAD4H5m5+Ce8s+XLvvqpKbRjASqDZr3FoDkFPtcABxJ4HWn84sDUiGIR1Di57t4P59yLT8LbpOjbrNT/dPUW19OptPQu+fZU/9k2TE/uHGRmZppt2m8OCyLCq9qDzIvvhLJaqd8JY+m5F2WGq7o928pTgZvxM5xHCOxX7tEC3SeD576fBZD3lgbdvJgBfVcQohIHYlDu20Ss/NP X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(10201501046)(6055026)(6041248)(20161123555025)(20161123560025)(20161123558100)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(6072148);SRVR:MWHPR12MB1151;BCL:0;PCL:0;RULEID:;SRVR:MWHPR12MB1151; X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;4:nv7stnlKTY/uF1e+H6S3EwW+Tb73LxMr5yklb+yynMXLnpO1l65ew1HdUv94FdcTtwhTr9EsaTPx+VVTzrFTzb3xAjSqg0zuni3CWA/JWVRKtqVSK7AQjZwL4WLmzWJ5C1CXNRYAwvWBCP1AY69p98CqJt/Y7/WFKjY/UDXcfaizSDGr4MztkeusO9koGFVgu3U3SG/XSRvtNuaCifzZo5V7KMFNSVTLaUUw+DiNKLqCKYS+Jq+U0TufBusu5x0oHZ/7dAjASpm7Wd8dfeZzPstThSuAT++QDWYgKXbXuJqgmfGErTSFuuwBUWx4iYK+mGfUd3eaUvBuels0j7raKmgJA61kEOa/gAIkMdipqWRB94qM9XHaZLyt9EhrplfgB47oJ0/Ztce0hAl4MZcXj95NeKYH6fvAST5tsQdqu5TaTW2sFV4ucXtoTGunnwgvOntzd9+40hI+zQjlHeNXX6LPA/Epa+mRQwD8LYKlGaDCeoOickWB+V+Xrxs05eIHjEJdRdhKjq5bZmxlU0jmEbVrbnn5MtHHVQGqD6Qh6L6wpue8n9oN60QVcMwvVIMOVt35rg+20pOaSNtmT9/3LEvCx7N158F2MNUwyIXMkZJ/VD46yfilyWXmIS9ZbuSmRPU2oVzlT3g+Ci8doxmIxxLAROoubtxvNAwk61I1WZLbLAPIOBg2pWysc5adoRqQTQ8u5FBQIfX3NRZDHvB0q1Mh9oA2JNmm/5357KpkC5tXEON3etp8Me/bmh2kgFoIGdgi4X733mOzSPsU30SIfk65lHwwf6O3qXhy20k8FKj9xcRt3Kpe81BAi4CbT2l4 X-Forefront-PRVS: 03094A4065 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(39410400002)(39450400003)(39860400002)(39840400002)(39850400002)(39400400002)(377454003)(24454002)(83506001)(7736002)(53546009)(3260700006)(25786009)(305945005)(189998001)(33646002)(31696002)(76176999)(42186005)(31686004)(86362001)(54906002)(50986999)(54356999)(50466002)(7416002)(90366009)(23676002)(7406005)(6486002)(77096006)(3846002)(6116002)(64126003)(65806001)(66066001)(65956001)(65826007)(2950100002)(38730400002)(6666003)(110136004)(230700001)(72206003)(2906002)(229853002)(6916009)(81166006)(47776003)(4326008)(93886004)(5660300001)(53936002)(36756003)(6246003)(4001350100001)(478600001)(8676002);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR12MB1151;H:[10.236.64.250];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjEyTUIxMTUxOzIzOklZbFBQVW8rWmFsdFY1dUtJaXlHdk8rcWFq?= =?utf-8?B?bUppYWVYUGk2di9hKzZ4S1gxcW9LNHN0QzB1MXBFcXNieExxR3RGWC9hN2o5?= =?utf-8?B?aS9TYVZuYVhoTFRYd21ZbnpQYm14SnVwc3N1Qy9uQUwzb2xydHNub1RndGxx?= =?utf-8?B?bEdDVFZXeWI0Smt6RjBqMlFrNWZxZW1jQ1BYUTVuZmR2ZTdkOWYyU1plZG80?= =?utf-8?B?VlREZlNqcitaYnQ5bWZzTjdockNXaThWb0Zibit2WXU0UFc1cDVzT2x1L1Vr?= =?utf-8?B?Q3ArNDVMVnJ6cHBSTEt2ODRYZ3ZjeHFoOWJYS2NveFc4U1E0K0YxNk1YY2Vv?= =?utf-8?B?b1JReEZkVGlhbjVCZDQ4K0o5enlYekpMaTRSbURJZEoreGJlZ3d0UTUxMUgr?= =?utf-8?B?b0FEalB0bVlzQklXcHVsSy9wR2R4TTR3eUN3VGE2Qks3UEE4YVFTeGNoaEND?= =?utf-8?B?d0dnMGtkbWFnM1psb1VRWnhZTTRjdUhZT3ZmZExMNTAzckN5OGJsZElUeHVu?= =?utf-8?B?TEFCM21wMC9Vd3M2eFpMVmFESUwydlJxVTRxc1JPQjVxdTJIcERxM3E0Z2lO?= =?utf-8?B?TG5hVXBUcCs3QnVGWTE4NHZGbVdTWHZ4QklDZW1GeXJPODRsRlVhSWVpWDZE?= =?utf-8?B?UUFCeFBvMzM3NjVxWXQ1WTM3QnREcGJ4RDFXZXpxaWlhRmdKQUdiMTRyUFN3?= =?utf-8?B?UW1Ib2o2MmRSdlRHbXJhK0lUSENZRGphUXlSbER1c1BleWo2QzFGZzE4YUhX?= =?utf-8?B?SDlUREpkcnhNQ2w3aXRBMWttWURoK244Zm96dHpTbi9vSzk4OXFDbzc4d2J3?= =?utf-8?B?UUlha2ZTbXUyZDhWeVdnZjgyekYrYTQxVXY3VkpJMjU0anJkeENiSjdlZ0RX?= =?utf-8?B?MWRPdlBMYStNZzh1aktEdGQrdDdqVVBCVjdPOWR4V2tJeExyZ3NMSlFZV0Nt?= =?utf-8?B?c3E1R1lBaWw4UzZUVjkveEtPbExvRUh0YjkyUHBRb2MrYlBBeUJtUTJsd3d2?= =?utf-8?B?RzkyNXY1YzVTL3phOTRBcFdHdXdPKzFRaFRFVVIrWGphV1dabzdnK09weGZL?= =?utf-8?B?WGpnNVpQaWVVbitnY2ZVRDk5OUZRVGZmUkQ0ay9EbzhtRFFOMThQcEtUY3BI?= =?utf-8?B?MnUxQUJ2YkEwOVdpMnVjemhwMDlscTRvVEhvdmhXdVJ1amtjYVdsenFObkJ6?= =?utf-8?B?QzNKT29od2FCN2ZDVXNWWGg1WHpHTkZMRzVDbklESDB4aGZ4bTUvZTVQNHBa?= =?utf-8?B?cWphb3dRK3BEd05aYXVoZCtDQTFOUXJBdGxIL0QxbDF0V0J3OEYwMTdXWEJa?= =?utf-8?B?d0pqZ0FicGI0UWJoTnNDN2IvcnoxdDY5THlGSlQwbllnbDV6YS9wQU50QTZp?= =?utf-8?B?VG4ySDJMaEk3enpCT3g5UGdWNUZSRDlsNjJkb25mNllJOVBtSXFjNzNaT09W?= =?utf-8?B?a1hUN0ducG5KM28wazAwTHlzUnVSRWx6anhpb1lzVVp4U29qYXZIeXUvWFVB?= =?utf-8?B?OEt5eHZnM05yWWtBNUw1bGc4Sy8vVnBlYkhFRmFWME1PZW12WGcxeTh4TDJN?= =?utf-8?B?MFp4VWxFWEhCcG5sbE9qWU1aOTUwaG43YXRLckhYelMwbS9WWVBpRGpwZ1Nn?= =?utf-8?B?SXk3WVlBMFQrK1BIdDYycnV2bThsV1c0Tzlaek1GUGpkSitTcEVkZnI5VFN0?= =?utf-8?B?VGRuUEdjYnJCMEJJb2NKTWVsZEZMQUVLOWo3YTI0Q0ZVVE1ONGQ4bDgzQXll?= =?utf-8?B?VUk2ZmhFYWg2ZW1WT2VxSzVrNG9jbTA2ZnF4WkY5OWlLR3hqZXh5ZHlYUTFZ?= =?utf-8?B?Nm1pbEw1NnZRZkJDc1pHeXo4Ulg2aHR3bTlBNTFXM0g4Wk5aQy9FS0NNNUVa?= =?utf-8?B?SVJqNXFoUCtHM3BuU0lueUxCRVNHS1JHbXRJcGJqNk14ajY2SXdiUzNIRHlO?= =?utf-8?B?bFMzSFRNUFFJN3Fhd0pBb3VnZG9ZTnljRERsMnB1Z2U0QjFlNmdhKzZCdVhB?= =?utf-8?B?RmsyOXNhUTFQbHN6N0NMUC9IcTNYUkJnSFp0dz09?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;6:ev6E7Elp7p+ON+Qh/irP9FyrIXdPtlAZlu8b+gSQ45CwfwHV/ExLqkYAE8h/MUX2D8AQ6uNxrWYRLN/LYjnXjV6HwY6lu3sWLyyobB4nosjoDD6//fbIc7KLCnsx5szXdieFZxXW0d6jpK4tZf//sHaYIL5A5ENcRR9aibFYGjgQMvCD8SddZ6pJxofy3dokOiDpLTOoRsiFbcrtHlgHEh73FcOL5cjvEK1a01/7vcXXrnUPo9a+tLWn4DBSI+YWnV+JJoYGlKrf1SEBSUz1C0qF0Z15hWkSJZdmsHYC27F0xSxWwIKxCq/fJLp72gNpZdDZz0kpTobT3WzaPPSxOQ4DGQcZ8RWrGQEWrX8UZmHT43ocAZMtsoE2UoRtmimkzYYsezVF58wwZCS1SvHb2g3+TrTEiBGCWlnvc53ELb3CgqEwxZUfsliJBsYQbKWvfJPYEfddjEedenQhZXY6oIVjb5ocwz6fTVhc8vhxVM4kiXCh55WTd0GgiuOhy6FMntyn7Qo0qy6fRXfQ4ZBjE+I5+4or6YU+Xenf7OZjPXg=;5:K8qMVUNqCgTicKlmzp0SlcJBCD4lUxz5supyBIZ3M2uNkQ//Xrxig5iwyhD4WcHLza2v6g0SlMP8OOSv17B9d1wqqNH25o0vsyT8JD3etLcRQDEAfFrpY90ItvcL8R0XMTgBMi0BLSMzUy+cvQeZJw==;24:6vZMC4o8BTgsyU7g4Ooc05s6jO3ZOQY8+aqqadKWZ6Xzubyd96Tm4GuHeNRcZTsybT6SozallVmyNIyl2JZdfF+9pjZGE/vhFb97+mGDjXA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1151;7:alcOFIxLHKTIabf8To+nhw0E4YMcSUiBkDvLz9c1vnQLuo+7hgtylDCkkKLIFyIykb05crUieqbT9/ThUwSD7Aae+J+a2huJrg+Fa0d1drAobGvXLvCSUBpqgegoi3ZevTo5FVsJDypTz/b5rM5g9wjT52oFNmyESTIGLIXZhfyjbY9Sb00CCsKPjUz2e1KrGTzGO7pcJRGvoTIV2RlpBDd4yd4oCaWlbrkeaRfiNhqqPXE26U61GDcD2pVaux2daItGucszQXuO1C4y9w0E2Y8fj4N/50dFcwfUrjeshpphh8KDOEVKzpbXSp8DRmF3iKvSZuZYfOsWp5ypfAjzyA==;20:9GCeXvT6mbkBeIAaYc5TPYkISl8Wl8MQuMx0tVxKXa3GWPx84DBT8kAbj85LKVwt1R9C9APqhn1kqsV6Hg51bqc7nUTZMMvdX+8cm/dsAw50g9uC4dfEnXTkoOL1yf/QayjQDCXv319ZcoYcxlsIFgo7LJoxlsYAtmBpvqVciJWwsrO3iYRDWJX6XR0VtXlILFNHQGhTfOgZkQRZS8HquvDUGSBKzs6v8rQrX494xwvGqDDeIiRx4hfRlXAweHaA X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 May 2017 19:28:46.4895 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1151 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 5/4/2017 9:36 AM, Borislav Petkov wrote: > On Thu, May 04, 2017 at 09:24:11AM -0500, Tom Lendacky wrote: >> I did this so that an the include order wouldn't cause issues (including >> asm/mem_encrypt.h followed by later by a linux/mem_encrypt.h include). >> I can make this a bit clearer by having separate #defines for each >> thing, e.g.: >> >> #ifndef sme_me_mask >> #define sme_me_mask 0UL >> #endif >> >> #ifndef sme_active >> #define sme_active sme_active >> static inline ... >> #endif >> >> Is that better/clearer? > > I guess but where do we have to include both the asm/ and the linux/ > version? It's more of the sequence of various includes. For example, init/do_mounts.c includes that eventually gets down to and then . However, a bit further down is included which eventually gets down to and then . > > IOW, can we avoid these issues altogether by partitioning symbol > declarations differently among the headers? It's most problematic when CONFIG_AMD_MEM_ENCRYPT is not defined since we never include an asm/ version from the linux/ path. I could create a mem_encrypt.h in include/asm-generic/ that contains the info that is in the !CONFIG_AMD_MEM_ENCRYPT path of the linux/ version. Let me look into that. Thanks, Tom >