From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751403AbdBWXQg (ORCPT ); Thu, 23 Feb 2017 18:16:36 -0500 Received: from mail-by2nam03on0054.outbound.protection.outlook.com ([104.47.42.54]:15849 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751324AbdBWXQc (ORCPT ); Thu, 23 Feb 2017 18:16:32 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; Subject: Re: [RFC PATCH v4 07/28] x86: Provide general kernel support for memory encryption To: Dave Hansen , , , , , , , , , References: <20170216154158.19244.66630.stgit@tlendack-t1.amdoffice.net> <20170216154332.19244.55451.stgit@tlendack-t1.amdoffice.net> 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 , Brijesh Singh , Ingo Molnar , Alexander Potapenko , Andy Lutomirski , "H. Peter Anvin" , Borislav Petkov , Andrey Ryabinin , Thomas Gleixner , Larry Woodman , Dmitry Vyukov From: Tom Lendacky Message-ID: <73a2c1f7-bc71-3ca8-c312-9a930250cb18@amd.com> Date: Thu, 23 Feb 2017 17:12:38 -0600 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: DM5PR17CA0028.namprd17.prod.outlook.com (10.173.128.142) To DM5PR12MB1147.namprd12.prod.outlook.com (10.168.236.142) X-MS-Office365-Filtering-Correlation-Id: 5d1db78f-f41f-4ee0-628b-08d45c417859 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081);SRVR:DM5PR12MB1147; X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1147;3:VHsngryLz9y6xM2IG973Hwu0sH0+h0p45N0SNrmF5YK7eFiUPkBJQpOs0+EnhwUGyHwrNjXYOZxDjsIq4nYkAwYibd289zD7eqMrGtwtU2zXy15jWa1sWNHPUXAzv2N9REJvWf81ZjFY9gDMO1CD13lbaBe8yvgi9NRRIYwyKLLmhGdoIT6L61LRKTWs9twxBSvm1wF8Ifom2BY2Vvzbx+ZJUmclmDfgdPbi0QgnmA31B482jSSf7swyh7xlAKVfOBXsnsm6VnGPkFSr8DXuMyXA4J0eh3ZZd1RAEL+sX3M=;25:2lbLayyWRI6ytgcpyWp2kveCi1q/GeXbyBnfs0lu8Kf/zJ1aSxu/xgcO1CDsUIGWcXW+Kf9Rhg9bF+mqT8TmMryWj6kRJnRNTbU6H9AbVDh0VNrBsbDoQdLlyWqq+apKH3yOleT9HrEdQoJPw4hf/gzE7bK2aIx2M9SvHqrGX4+0CKMYMJ+k5gNQcupfiFglmiOb77bKo3asKsRW+9q9sga66pCEDl7jnjfVpIPrdBKdGnBpydr4J18x/CikobLzdlw5dhm/qx80uz2+A+VcnNTLRSTpItm5Pio0v77Q/9Q4cyOOo5uyA8V78uTx4BcK/9tckaIoEbc2je0aMhV0wUt/gy3+bN0g1/6f6N1l8ngCwkf/JHjuWtcCSykaLYr5PAZ6OKk707pA/CNkmGEVIDHdx3xEEUcy+Uu/uLJGbC1nHQ1Y3Hbk3zaDygjE+tIaM9SbMN11SfX3zenfcDFD0Q== X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1147;31:wz+IEiaFpkJ/SAJxfpkF+W3iT21N1B/HJ1h7jvVuEjZCtMQPnOmtRmc6KN3/S7ugziftFHcgaHhy5suhohS60MBtz/LEZZkn6PmTWycUf85aCiWqrjgaNZwWBmY5RYu+vdgh3AWyEoQhlTpGGo2s4UQcyutdADNwk2mYvVT9PrQ5E/iaRKdvY1/MG3KvH6U/SCK0NFCeBfL9tlaGoJBNPWAsrxILB5FtLtVK3Rvk2FCHSnu+yD1eVIrsCR6XoINl;20:a7bfr7HNg3NXPiIHzMFt5wPwsJKrGgJIM25Ms1tMk9X/7/cMRQdCNLt9zBhOxTPpUWjU6NkALIsuge4XahqMFFR4LYUVsHOn0F4r1uF8RgysNX/V7huPgzskjbAXKF1TvrtWp3eryvMZc63J57EIMHwY3WY2Gf5zuIQKtCE79As2jkricTPaHxVevcMB/CPifWziFRN8z9Kjl5QtFAHE4J4hh3JQh+7TI/9TdXtfdMUsXzb9zR8k6KY2o01nOiWUNt9IUsmmH97AN6wnimNhMQGH70Ez2gSPg+ppW3PO9mbEdDlymVv+15O1td2xBZkYEZxeurUmSJXssb2GrTF1rHJLpVCB6mPxy6jFGO6XbsugYe8BwrsK7AmVRzloqA5htY9omvCPWOFm2ruXunkJIv2ywjGyR/UJkvBbkAJGJMkM6eNKihWkspaVeMb/6afFVi1gAXVP4w2/6NOSyDIpDQbavf1jCSTif6P6F+Lpk+ahIaKLNZIbXYOA+pk1ndLm X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026)(6041248)(20161123560025)(20161123562025)(20161123558025)(20161123555025)(20161123564025)(6072148);SRVR:DM5PR12MB1147;BCL:0;PCL:0;RULEID:;SRVR:DM5PR12MB1147; X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1147;4:wks4wQhkFx+YVtZtiZQ+eEyhCL9HsUU3P87e/39/X09I4cgIhL3tVQ/6DoGeMNTrIhbO1VxHWt8vIxIkjnjDJRf9jHtih62nJbnQfqHDMEXffZy0SxXhEXhwFz4d7XDKgYi+qPZsEBVrseuGeIGghvjzHFr/JBPNUZYOFOTIkcuOWqGXiDPkP+giLGxMTqEMUSSCVzBq3ddFsUmwHNO/AOlW+sOzDuyvkpeTQT8g5tTY71Fd6XW7FuwmiG0onqW7x5v82GO/kCNQpRP8/K5NBp76LqvLvf2xlwHKwqtQbWeekxfDD1VHY5Djs/c3d5/QPJSm8soieO8sFNklBIWVl9N/2YHOenqsl/neqqCnFJQoXYjRUv2FpihWQHDbiNUfvysiWLUExD4cFEs99M8ApXIIrcbPTt2dNPsZBv/D2wnEligCehtMyCzgPQur6B3QUNNwozS0nHOP9uZ4NBoU7JvWReV6aJ9/haLrJkAPIc5XxPNIz9W14gd/z0gmCAI5hn4N+JQUsD6gwzXA2GdLNKJ3qkl+e8ks8wWUL+DTqUOt6rDuCXtFlIkDYxsfpFVXEiwEixBeDyzln+jxMgZl5ZkP4SvleDNsbp0UGTip6Mk+hIEqDVoSztxgxjiuygna X-Forefront-PRVS: 02272225C5 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(7916002)(39860400002)(39840400002)(39450400003)(39850400002)(39410400002)(199003)(377454003)(51444003)(189002)(24454002)(65806001)(50986999)(23676002)(47776003)(68736007)(230700001)(7736002)(81166006)(8676002)(54906002)(189998001)(92566002)(3846002)(6486002)(54356999)(83506001)(76176999)(25786008)(90366009)(81156014)(65956001)(31686004)(36756003)(101416001)(77096006)(64126003)(66066001)(305945005)(4326007)(2950100002)(7416002)(5660300001)(65826007)(31696002)(97736004)(53546006)(86362001)(105586002)(50466002)(6666003)(4001350100001)(2201001)(42186005)(2906002)(33646002)(38730400002)(6116002)(6246003)(53936002)(106356001)(229853002)(921003)(1121003)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR12MB1147;H:[10.236.64.179];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjEyTUIxMTQ3OzIzOnA5alcwZlhtWnBNRmpwMXl3OTl5V0d1eWxv?= =?utf-8?B?ZEtpSmRmSEkrVWk3UUk3Qndkems5UUdaUjN3MDh6NVlETForbnZ3bzF5eDEw?= =?utf-8?B?aStNRFc2MzFEa0ZPY3U4bDhFRjhIZzhtd3hQazhKY0xudE10Rk45My9tZWJI?= =?utf-8?B?QndkWDExMmZwVnBIQjI4T0xzT3QrNStvakxqT21hbVB6TmFScGFLTEdNMjh2?= =?utf-8?B?U2FyVVBTc3BUenRZRXZaZDVBNkh5dDRNaW04V2xhSnRhY2NUUmNhQmpMbnFo?= =?utf-8?B?TS9jejI4dWV2Q3VjZ0pPNCtiTWRUcjNmV29iOEdIQTl4NDN0YmlYN0lOT3ds?= =?utf-8?B?VTE2aDBjVGVnZTN5NE1laHcxdmxBa2h4WEM3REtmb0ExM0xBSFlSV1l3MDNO?= =?utf-8?B?UTRaekdpbisraVdZYmdDdnllKzFac1pCOSsrd3pIMWlJT2dNRllOdVdIaGVI?= =?utf-8?B?TVRYbElCSENwa1RJVTA2UG5HNkZFR1NSSFlkUWV2dXJRZGpXbEgxaWFaakpD?= =?utf-8?B?OUNVdmhma2I1a2xpeFJyRnFWZHZHSDQ4cG9rMU1WYStiUWttR1NCV1oxMXZ5?= =?utf-8?B?TlhoNVlUQXk2MjIxU2FhRlUzaFZZUk54VzJ1WU1Wcnl4Z1B5Q0FPVGJEeWJq?= =?utf-8?B?ZnVqUWhmMUpzMjh2cUtxK0QyU1dYUkYrYWg5N1ZKbVg4UndpUUhOQWFWbk04?= =?utf-8?B?OFpFTW1OV1VtMCtScytSRzFLU3duNXBweGt4Wkd6SkwvUE83YWtYL3lXUDdB?= =?utf-8?B?Z2FqNDVYeFVtRFJwWlY2VUFjSXFBdllxZGd5VEtaMit6eUM0MElpU1NHVStG?= =?utf-8?B?aWFHMkpNTysxRmdOVklVOG9sZVVSSkQwaTVEYWVYelJVb0lscWRBdTZzZ2ZT?= =?utf-8?B?WURnQTBEYzluUmxmeFIvNXY1NE9kQkpwS3EyanhaN05rdkp0VUozZFZmNzRD?= =?utf-8?B?SFBoSjM2eEl4V1dwbFVwd2dXUFdoUW9YL0hoTU5mb0x6aVdtNTQ2Q1kxUG5K?= =?utf-8?B?Y09VTFd0Uit0WVRSQkx0NjZLSkRQYzMyNnRxZHR4WENQSG5XMytjK2M2OUMv?= =?utf-8?B?TGkyYlU5VFNQaC8xM2dNMWRaeFVENWhpTStOaWdkTlo0SlNmaFcxUklMR1ZN?= =?utf-8?B?djliL2lMM2RFU0lROTcyVE81c0V4QklUL2trYzBvUURJRVBhVW9yYUw2Zndk?= =?utf-8?B?dFFFTlMzWWFnM1Q3REtmS2xHVHhxc3EyQXdmSkJpcEhYazE2T1AySEF2RC81?= =?utf-8?B?czFic2l2NGFNOE9JOFBIbk9HNkNMZGJkYjQwKzFPcXRFSE5VSlBYY2I3ODFx?= =?utf-8?B?bFg2aHNGTDJOMzBxQlBIcCthcS9NV2dHNUhEMUNQRWM1MjBRUjg3eC82cFNR?= =?utf-8?B?dFRxdERhUjlsQ0xEM3VJalV6TVFsNlRGUGhoRyt2b3c3c2hoRktOc3RtQnFR?= =?utf-8?B?RXNOZk40cWovVlBBaHE0ZTE4eVRDS09LWTlnNWhud0Y4UldhYWxHWTdzTXUv?= =?utf-8?B?WUl2YUtKV2pOU0Z6MjRIQkV5bU9PbllaVDNFU3FJZEpGaEJra2dyVnlRUlF4?= =?utf-8?B?RmtXeHE3WEVjVzlIcFhpT09CR1cxZHA0T0R2emlzNGcwZ2NNS05oTXoyZ0dQ?= =?utf-8?B?ZEQ0NjV0L21lbEhlSmJ6ZVBycm1VUzdNMHdXMXVzTGNtc3Z5enl2WnNSZTNB?= =?utf-8?B?RGJTZFltL0FiQU1wb3hRcUtWSXk2aFVUcXdsY2s2OFJmNUlVbnd5Tks4dDJo?= =?utf-8?B?eFJGUGVnWUhyRGE5Z2JYVmU5bExBdEVRTU5uMUpKc0lCTEVpUWlBMk1IU2N0?= =?utf-8?B?T0JWQW5EeHpRa0thbW9aTjQ4RURaS3psai9UVkhzU0R2VW5hTHdqMytGVmFw?= =?utf-8?B?LzBLVmtYVys0cUpXTWI5aVBsVDlXYUVZNnN4Q1hyZVNER2JUR2ljU21pZ3NP?= =?utf-8?B?eGdMUGtXYkNvcStRMWpGYnhoZmhDYW5DUy9kbzlwQjRwTXlCdi9raG1TNGNp?= =?utf-8?B?TnJ3NnhYcEFRR0xmcWRPWG9pRDgvS0w4cjZPdUpjdmd0ZFlBV05EVmsxbXpz?= =?utf-8?B?dkNLdEUxWjZObU15WU0xZlMyNjVaaWE5b2h4c3RWWm5QU1RQcitVaGNOL0xJ?= =?utf-8?B?ZE0yR01ML1h5NGxlUmFvNWxmWE56enNJZmZTUi9HU3N0TG1DcDduNmdVellF?= =?utf-8?B?cEllQnZEVDJtWDhiT1FkSGdoWnJnPT0=?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1147;6:Hr8iFsnqs/FF8MBeQmQMr/JKrjr4MA3jUL/uzxzH96WLki7wWbl1gMMd4E0vMJMcRyvGMkK7sDbWUXeiVVSWoHg/T3uT54XogHQnK1El8Iv2uvz0i1hIbTohVRIlOewBvAUaJbq3Q2V0WhegM0h5wF1h4KHwyRnV0XUh3GYCLfkIW1jSxCK5aWSBr38yMx3t0EzyEHG/whhXAFE5ioK4ZAE3xRFYLy9tIedRJgnWuQTNHlf6Yz5AxKh9NBW7bVno9OwgAj4cGx62O+H5YZjHwqvVKvpbFkXyFFc/XqPTwjje8lmdKA7oMl7O/f9s8n9vRcVi8OWMwIfFXvVfDXpX3Uuf8L9mn6ctL2xL/veeRdPQIpDhcYECFuyjcmeExdba9A5jKaDYihqDV18LRe09BvexjXoSdXmeVMP/7VjwOHA=;5:YtfWqYVNiZsdG3IZN5O/6G983qObN58a62k52Xuv8JD08WaHJSgjhAWX5/iEIW4UNyyNOnVJPGzHf9vpqmCr6428tBNm+FTJQ+luUKvwa9cZ4zYeVXERAb5l83G4ZauFrtyYM/DPaJqe5zXXX1eNirE++mzbvzGj/PahEZ4IvN8=;24:vu6/9fYKUwbSu6C5Bxw57GpnqJTE5hJXnd7nQKezfb8XD21oLjDSe8puHb730Ej1q+I9Vfh0jF/PeBkyusvEGagpLd7WvGyqlut3gr8eQXc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1147;7:pwDPg6qsh4dpE1bSvBwuctspktSHHJ+2+iOgKEKVb2RBqWWSrd7GSSrH1gSDEsfhm2E0t0N+Vtu/nLMAYP4V7Nh5aBGgPr3jTE+xFa2nWuvg3EnlWN3gL9+JeQ9IDggaYRS9QO8o9Gw5hD0JqdhiCKrInXwr1ksqOqpJVEBbJnmKo3RRaSBcmW74NuM2s/4WtSAYy7hEHIabxewUyIvOkf4+3fz+wNVk/X0bofj0FNPEeOqnH8aPmrrAzW5d0sxlz8shoN185uISsq+X6uFZmzoqpFMI70y0lPQSsTpn6f1o7LsLf0e5b0DBCKtyg1jBMStQISxMcSRiBmva+lwaFQ==;20:NEXmeutHZe1myr+dq+lGh+mjf8B4PLYO50K5rK9HL4UQdqEWmYhyeN7kg6iqWBBEqyW+IbYjICmjf4SOELQ9CmuwrI0/WYffAcq1PslPDUGSR88+LUs5mk1XY21nsWHrrr0ArW21tV35FMLkGijX0o1+EyDF+TG/xoi2SvJsLXoL/s6nqrLARbY8DrXszd/uIG+1K1NHKbNZKdst7jUQw+RtdKHgFnIEQIRhxtDaRHwLwEptdb9hZ4XrhJsQJUne X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2017 23:12:41.9539 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1147 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2/22/2017 12:13 PM, Dave Hansen wrote: > On 02/16/2017 07:43 AM, Tom Lendacky wrote: >> static inline unsigned long pte_pfn(pte_t pte) >> { >> - return (pte_val(pte) & PTE_PFN_MASK) >> PAGE_SHIFT; >> + return (pte_val(pte) & ~sme_me_mask & PTE_PFN_MASK) >> PAGE_SHIFT; >> } >> >> static inline unsigned long pmd_pfn(pmd_t pmd) >> { >> - return (pmd_val(pmd) & pmd_pfn_mask(pmd)) >> PAGE_SHIFT; >> + return (pmd_val(pmd) & ~sme_me_mask & pmd_pfn_mask(pmd)) >> PAGE_SHIFT; >> } > > Could you talk a bit about why you chose to do the "~sme_me_mask" bit in > here instead of making it a part of PTE_PFN_MASK / pmd_pfn_mask(pmd)? I think that's a good catch. Let me look at it, but I believe that it should be possible to do and avoid what you're worried about below. Thanks, Tom > > It might not matter, but I'd be worried that this ends up breaking > direct users of PTE_PFN_MASK / pmd_pfn_mask(pmd) since they now no > longer mask the PFN out of a PTE. >