From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752810AbdKHVgr (ORCPT ); Wed, 8 Nov 2017 16:36:47 -0500 Received: from mail-sn1nam02on0073.outbound.protection.outlook.com ([104.47.36.73]:47328 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752560AbdKHVgp (ORCPT ); Wed, 8 Nov 2017 16:36:45 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; Subject: Re: [PATCH] x86/mm: Unbreak modules that rely on external PAGE_KERNEL availability To: Linus Torvalds , Borislav Petkov Cc: Thomas Gleixner , Jiri Kosina , Ingo Molnar , "H. Peter Anvin" , LKML , linux-mm , the arch/x86 maintainers , Greg KH References: <20171108211525.4kxwj5ygg3kvfl2a@pd.tnic> From: Tom Lendacky Message-ID: <4c2c7797-00f5-13af-5a50-c815f6806b33@amd.com> Date: Wed, 8 Nov 2017 15:36:31 -0600 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: BN6PR10CA0038.namprd10.prod.outlook.com (10.175.102.152) To MWHPR12MB1149.namprd12.prod.outlook.com (10.169.204.13) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a089e27b-a1d4-48fa-bb8c-08d526f0cdab X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603249);SRVR:MWHPR12MB1149; X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1149;3:pi3sWHDfTnJgevdgVbXJlfvbUqxiRHf2qbV4axiiZcaW22W5n4krcffNbocOdmB/Ryyt617vDf6hVNiAEon8Gbai/ksIRu7TuVpk0QsAlxfb7EGg/b+Bz5ZSbOs2QNR4jjU245Hqn0QmGxSp3Z9+5l0CYiPTAY/O95Wy6bLOOZ97MRlspBLUcIXO55VJybjwkpdcy4YCr8E7b8kMV7NpurYQ7YklcMKmNLpN/GbJd/fB14kDTjmprnklLVKf/AHg;25:zhaeksYNP8pCmJJla5Uo2vt9W5v4k5w+Df0I69j1JpwAiSm5virNAtEIAeiiLETWbOLBm5lAsTVxZl1ufTTWEll8i8RCeJjegw2Vao0fw8NAK2+qc6OK/istLZ4Ac2msZGLp21pxjt9tI8XUL3YDCErXt0NFu+aVFTv4Mo6v97no4ZqckUGEeewBXoZXP3XVgUWvO+5bY6HBnCDvxAlyCsoaZ372HtuUN8e82m+074iQB1jYhtN2E6Pqzg2ZjdljLOz2ZBYG45K8HxgJKuWQ7aLhqw5Y4AHI988sqV3zhyMwPqcFcEFT8ValGXI29g3cEbaoD3MoYEIzKi3exzbgnA==;31:BC5EgyArZW8QBXfybMv3/zpbkLuG2gV36mkW/3n8ozWHsTpAHSH52/SdbZdr76VypTMDhoePnnczDHKN67Gwb3thxStmMVvGqMt3NlxpA8ZSSZ1QgxodNYSb1Ls3UUIHNrqnGD3LU5IpLfYYvSdWPDc44OBIiQvvgnrFRitkp4wM1LLWIM1NB4ntv/zzwsTnh2S1k5eO2zMCqnebYJ3XP9ZVGj93hTZtb/L0ItUoRRU= X-MS-TrafficTypeDiagnostic: MWHPR12MB1149: X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1149;20:yXQw96dM7HKxbVaBd8liKSYg+t+uKZYARv+PVkloDYY7Wkf74KyECsi9UauX1ahvwd8Kq/GL7yvIVIokftrEbpAWLMMDSTGNh73vjhV2xCSOt9D5esVrQU/ornBKZ23JugGlv25JHpdJRnrxC/e43qOLX+KSeYgtdbnpvbgKmtkAvkktbfau4BuK9H1g3z7U1rmeChAogzW0K4TNfAN2SIG+MYWeZuTzOp/UmcicqmK/0trP1zMVqH5RWhx3doAH5L3+UorG1RewTSWGy1BeGEykkE8tafHunZDG6MuzQS0ZBMExazFSN9R0scJqcYea8UPp6/vhwgbtC55+X9+U4vFPuvbI5FSPWwvwYG3zojSdX34uipfm4C8itNmNNIMQy3Vto5RC8f8hcCKgKmCnZCNPwN8xpVuusl8WGMWD/Py6FgIJKl77Kw3FRny46v7b9vY1684o+URtrzaDhTOZkuBvxglz0SUlsbuJKgQPQoMW0eouDicOcluaXg3mxjiY;4:sMvqXiU8lBLwkL1eNBandAPRhp3l0Yzmx8q37AeLya4+R0K8OGcqEllgffRGOnsjwueb3duon5hi9K6bYW9qVsJ/h1REJWn9ryBzPZ8OF5kOmdLeNdXLQnM0/uHkLolneVwFqe3kjDQubyE3kEzXrKYJJq/THRbSisr8Ulf1vnhQflk/po0dTSX4DWXZvEgQUKbo1AqCYHCbgwMAPjcTt4jmKuifcMod9IBh1icl+QsBIGaRvAUW9o8erMdElgN+jm1Y+g3CZPuU+CJpk2VZS9Hi6DJzrI8O81hs6OAyR+1gpSSxb0X7ix2jofw+8ccJ X-Exchange-Antispam-Report-Test: UriScan:(788757137089); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(3231021)(100000703101)(100105400095)(93006095)(93001095)(3002001)(10201501046)(6055026)(6041248)(20161123564025)(20161123558100)(20161123562025)(20161123560025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:MWHPR12MB1149;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:MWHPR12MB1149; X-Forefront-PRVS: 0485417665 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(979002)(6009001)(6049001)(376002)(346002)(24454002)(189002)(199003)(105586002)(478600001)(72206003)(316002)(106356001)(16576012)(68736007)(36756003)(31696002)(58126008)(77096006)(67846002)(23676003)(6486002)(229853002)(97736004)(110136005)(54906003)(83506002)(2950100002)(5660300001)(16526018)(86362001)(90366009)(6116002)(3846002)(101416001)(8676002)(6246003)(76176999)(81156014)(81166006)(65826007)(189998001)(33646002)(6666003)(3260700006)(25786009)(50986999)(54356999)(50466002)(7416002)(93886005)(230700001)(64126003)(2906002)(31686004)(65806001)(8936002)(305945005)(53936002)(4326008)(53546010)(66066001)(7736002)(65956001)(47776003)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR12MB1149;H:[10.236.64.70];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjEyTUIxMTQ5OzIzOnhFT2tjeGF2Q1YzZGM1ckpzckY5MEorMzcr?= =?utf-8?B?NUFmZHYvTk9Mc3dEcTloQ0w3MzlmTWZmVFJIVDVqTXdFYWVyZHFrbC91VGpR?= =?utf-8?B?NlEvYjUrL3VaSUsxenA4TVBVR1dXMG1MbDdFS1Z6MjFWS3h5MDdnSlFzOWFM?= =?utf-8?B?ZXFJT0tCdmlhVG45bFRJZytHMThOTkVmdUFPUFdSRExjL2ROak1sanB1TmpL?= =?utf-8?B?ZU96L0RNRTZtZFJLRjgxMDVWMUFNSFp5WFB5M3MxeGZDQis0cktzcWJVUnhF?= =?utf-8?B?MHFrelFMV2FWaksyKzI3NkpSSHBINm9XQ1JISWZIWG1MVjZDS3llbzZrenVR?= =?utf-8?B?dUF2KytWYUFRUUhhRnJFemtrbkxRdnN2K2hSL2FNWDhYNVhoUnd3OG5TeVNu?= =?utf-8?B?REJJd2tiWTVibU03SkxGRlhXM1FYNmFHN2EzRXlTZjBPMGdwS3NuZ0NpZnNt?= =?utf-8?B?b2lWTlJ3Z243NFdHNjhxTDRRRStsQndtd1hScFZOZGFPZy9jWmlPZTg1Q1Jy?= =?utf-8?B?aUlQOERnNFBIMXJCWm9CaGJpQkVQdlZqc1NnYmo3ZVRpNTlYdjRSR1N5ME1q?= =?utf-8?B?U0pFUnR5YXpYSW1nMWYzc0NZWHlrMU45RlJoR2JUQXpvUEJWbFlXa1BEWjJQ?= =?utf-8?B?aFIrbVowalNPNUxZLzBjNVhlMWxOcm1UZ3h4VmJKa0Iyb1VlaVBXdkxPVTcw?= =?utf-8?B?S2tnNWY2cCs4KzMwVVdjeXVPL0h6NGxYMTFYbkNyQW1rUmd6SkNObHFkMkdi?= =?utf-8?B?cTBWWHRnQk1zZGhhM3U3S3ZDaFBVQ0RITmExVHZhYUVrTElVa3pOMmVmRW53?= =?utf-8?B?bHNQeU5OVnRnNGY4TkVtUzRxKzJqRmcyaVJNaFp2K1d4Y3AxVE5lVDF5THBt?= =?utf-8?B?Ykh6TG5ETTJlOU14Q3M5Smk3OEtzUjJIeG1SUEFMZGpzNEk4MXhaRUsxYU1p?= =?utf-8?B?MTZxZjJrWDh0UnhUZ1dnVnlXY2c4bFFycjR3SEFoSlo1MitwdmlWeFVVdFlM?= =?utf-8?B?dERONXBBNUVQa3FKcW9LNmYxblVjalFCWnM5S205S2lyajBrejFjL2RMWEEr?= =?utf-8?B?QkFHR1lZZWVKREFlSXMxOTFLYk9QUmljY0R3ckxlRTNXMWVTSktRbEdJdWwy?= =?utf-8?B?a3RvTU1uNVdzZGlBYzdiYVZlTkxIT1plZUtpTGhPSUMwZXYzdnM5NkFKWkVk?= =?utf-8?B?SjF2UTBHWGxPeTFxTHZhaFdOOElXdGxXenFNMmltVUJPRmkvRndNanpZNXB0?= =?utf-8?B?V1JJeE5heUV1Wlg0VlBQS1liWUg0S294YVByRDlvNHp6djNacnJqNnhtbFpX?= =?utf-8?B?RmYwdDF6ZCtHQS9mckFTYVB3bmJMTEozMmxaTmdiNmJmb0RXclA2bVRlUTAy?= =?utf-8?B?ZUJhTHdNekdzcENVaHlqbGUvZm9KZi9oeXFQUHRjVDVkNlE2c04yNEdlUW53?= =?utf-8?B?VWV1eGtHUlNwdFIwc3NMRVBobHZJeU9lRjA1aFUzOUl1OVVDY0RpTGZBY1I5?= =?utf-8?B?MmVIVnVZNGZpNE9JYWhBaUJvRGc1U2taQTNwZEprTzdBL2NxRDRxdnNGUGRL?= =?utf-8?B?dFRrM2cySEhqSG5WRU5OTGROc2srb0tLd01rSDl0ODlVbGhtbzlZMVlMd3pw?= =?utf-8?B?U2lVQ29YVkdSVWdQTXFCWTk4SC80ejFVRmE0M1BGaVNGczdZVkpjVVVUY2J4?= =?utf-8?B?NWVRazVLYmFIakpzS2FncUQ2bGpUVytObEVtMVUwL2Jsclc4M1JEUEdGdnlT?= =?utf-8?B?QnM3RGdSZjU1US83blRFNUUyQThHa2E5c094Y1p5bGdteXpXTDcyVDV5dVZk?= =?utf-8?B?a3QvaXJ0NThIM1JFeFpnSlJhRXBiYTB3RXRIU05FUlRldEZSZ1FjSnVoWXVy?= =?utf-8?B?OGlkWjBnQUJGSFExY29JazZJbmFRSDF5TWR6QUpzd3JLcDVUUy90eGVWa0lS?= =?utf-8?B?c2l6Zk11QU5JNmJrUzc5MTRoa0xaUm5YZGI5NGdpaStKbEdndGNROGtkeEhJ?= =?utf-8?B?Wm0zWHQwVk9XR0dla0dFemQ3bEo1ZU1IZ2lOd1FWbWhvd0puZEFXbStXYTM0?= =?utf-8?B?NTNtU0NlTlJlREp5enRLZTZpbnpQRkRqdTJZMDhvdUZRTndTYURmMjkxdEhm?= =?utf-8?Q?c3n4eGXopwjUf8Fpy59JkHs=3D?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1149;6:svJoIo1cJ0pXR1UjBGIyxr/QIbeX/866tgXqIFdf9JdSQLa70Z5IgtXSvA0U6Aq5raelabZChLjbdwBjzi09xRb1hSPMAOKhzNxaSTFDKV0vTTpqFVhvNvgf+S0cdT1PtwAuQ9YMkInDjVLwKOW2rB5KaVvUwl1fGYgvZ6KRLAQkNii723G3JA0/1AChteilQWOfvTmdBi38u4FSGqOwdbOmrvdCuez38ZIqHs+cX64COHAEiz8INzsV9G3FFq3VmqoJcVbfH10w93F3NNTPD32j9gVdULjT64AuuaHs7mIIPrcMWpIurkhwBUKAhA0M+zy0Gr7ggwUVBy+XOGX95W69U/W0p9UO5SYKhWDGinw=;5:7Vz02a/NGe2r3vPgUXsdpO8dJD3Tdj2v/REBkZlABVFjSv7asgEi56fmW8oJGgZRzrHg0Kg/r0uwckWNs4X6nkVHGIT78EEwYz1i1uLhsx0bThpt/LDlm0TkkS03nJa6erx6dULpSdzcUdXYwAY6rgy6DP65TZeT7H4j7UC3rHE=;24:J1VrrdyEr7oufr7+0cx/SeWMfG0kOBwDOK43nXqncbN8A06CHi5wfk3F9mFGKI7eImm58NH8iQkfECQmsGV0gwM9PjAVxM5+zrYc/4NG/fI=;7:ffQJQVsSFHuEmONPhD6DFskQ9g624+C8a8BZ6+wGfIFmJvZvlSfeHyazJCWOe84OzQ3U+rp8my81cOWEd7g8mwmNdaBTw1nUBMiCoNlAX6RhG7TOQeRDXZyR9Bt2AjxiPHfXVg/3vR54Md+yDDQCJXd2xbCYP3K2Fgo49oAcL0Ta0Mah9yj9+Ss0LQoMRCqTfqfYgcNagNB9rUHlPQp9ri+7mLrAv4u7EWr74UP3OOv3/H6d1fx8/gXs4VlRR2WG SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1149;20:kh+VKcrPWhQNTJnCZcMV+ohLPzzpp0ZJvS9+FRxoKDO1ccsOrBG/ZqJ5oQCs8aeZUgUr6pD61YuPomvkmWTn9xK+zfpRtk5g7PL+29hvRbzvQbvRy+4r9Pb0T2Nt+R/K+CezuIriOkr/krhRJMfuWcwbomqEJK8mKknuS4Fhx+f8jCyxdOdaUDx/JgZSL8KtkWJGm+0JnSNLnWpkql4dy7At2+IaaqSKuBynFs/S+cli4inGboRe4Qgyz35W+Euf X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2017 21:36:41.2852 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a089e27b-a1d4-48fa-bb8c-08d526f0cdab X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1149 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/8/2017 3:23 PM, Linus Torvalds wrote: > On Wed, Nov 8, 2017 at 1:15 PM, Borislav Petkov wrote: >> >> Right, AFAIRC, the main reason for this being an export was because if >> we hid it in a function, you'd have all those function calls as part of >> the _PAGE_* macros and that's just crap. > > Yes, that would be worse. > > I was thinking that maybe we could have a fixed "encrypt" bit in our > PTE, and then replace that "software bit" with whatever the real > hardware mask is (if any). > > Because it's nasty to have these constants that _used_ to be > constants, and still _look_ like constants, suddely do stupid memory > reads from random kernel data. > > So _this_ is the underflying problem: > > #define _PAGE_ENC (_AT(pteval_t, sme_me_mask)) > > because that is simply not how the _PAGE_xyz macros should work! > > So it should have been a fixed bit to begin with, and the dynamic part > should have been elsewhere. > > The whole EXPORT_SYMBOL() thing is just a symptom of that fundamental > error. Modules - GPL or not - should _never_ have to know or care > about this _PAGE_ENC bit madness, simply because it shouldn't have > been there. I'll look into that and see what I can come up with. Thanks, Tom > > Linus >