From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932920AbdKFSPy (ORCPT ); Mon, 6 Nov 2017 13:15:54 -0500 Received: from mail-co1nam03on0077.outbound.protection.outlook.com ([104.47.40.77]:18934 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932901AbdKFSPu (ORCPT ); Mon, 6 Nov 2017 13:15:50 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; From: Brijesh Singh To: kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: bp@alien8.de, Brijesh Singh , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Joerg Roedel , Borislav Petkov , Tom Lendacky , x86@kernel.org Subject: [Part2 PATCH v8 36/38] KVM: SVM: Clear C-bit from the page fault address Date: Mon, 6 Nov 2017 12:15:28 -0600 Message-Id: <20171106181530.68894-7-brijesh.singh@amd.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20171106181530.68894-1-brijesh.singh@amd.com> References: <20171106181530.68894-1-brijesh.singh@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: SN4PR0601CA0012.namprd06.prod.outlook.com (10.162.115.150) To SN1PR12MB0157.namprd12.prod.outlook.com (10.162.3.144) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b703e650-bd0c-4307-c189-08d525426561 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(2017052603249);SRVR:SN1PR12MB0157; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0157;3:kbGD9kEMUsNhXXp1llK9TNqicVRVBbOAucwUHdgEv4yXcjTFQdSZmGO3lgjBG2P/U7Ayanj1B1XeweXSETY5tbc6d0pUeSyi2CfxI79Jx/503WRjK42A/CTfRvz7JLpKbj1PEaEYmyZENJZjqJXrTDae/xJQoaDtPV6DETvyWKtHHtM/t+TCrP3eZpZehq7/cZeY2249d+FP7B6bgRDdbw2EWSKfW9e6eDQglUUIZJt2Ap1w0WT+0s09E0q+sAGR;25:NeWeQcFIvrvKWbVLtmZ6cHA02w74Ecbc0AxoHYU2dWUSgb+URdlDwOg6Pkyw2mIpltspncCRRcTLn0O2JvWm0RLPF5yxJfGNWpaiEI0Nj0ahljRXTCfnXDin5hvLYl/YAEf5pxIK9Y4PKonI8rmxCj03qUotPvVlCPQv4WCqx+CXxzm/hT0bIV+500RQvAOtcCvFMQAaaJoGbcVpAgmVsiBrtrWoyqxsUWXHX1MbGD7CbaL+oWowXJIaVbp8FnB+oO0Ixm197F6A9AqTMGG8CtBracDKASvAqPdB813i3fYJE8a4Or1Y8U+n5kXxSoVCjAPS8/6v2kah6o9sXAI7oA==;31:WS1EfD+C2wWEQPhQUJ67I/NfZ01pVfmm/dpFF+dMWUUnsZHHL63Vjz/MvZuRnZyWvgFRUYGfCokJYs9d1uOEuMvW2pNF4viPraZtGAY7wl0viZulU/ZrkXFrjhDI8s5CkEHcAbeS28Px3D2nWKNvej6Hm67/Yy9oeT8M5f0jVb8ApE2wEZQbg6GmbAs+2fF03hulNeeuoKGuYOFXrvmUVO+rXsuj2poGqF8xMsBmE0I= X-MS-TrafficTypeDiagnostic: SN1PR12MB0157: X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0157;20:bLxpqx/9wqTUQCs+T57YuSKU1CZHW6eaHwgCs7umOniVNgIWLt0Shneqdlxvh/1a7c65mKM2LOs1gC23HKQsm6/uSvSEVcSXPLXf4N+9qfHimjOIrYMVGgEI5qiCAIihPT8/MBL485swQZD7urNXzfDHLn6zO1rxEVAvRsVQti9UxVdqfVtRkRwLx8p9e+1SnJzqk5J4bCSa1zW6d4pJaMnT1ZG9sL7woFTePg+9CZ6B9whU1NU7VVXs1w4UC4OW75rdNVDDAepbU02i7nVSmC7xGinU1dliRT3ARJoHqZAf0bWPvkmHjX/ItjDFiojByzt0v9npLo2NHzfgOOTojLRrqJ+NGMiehxyY6wYcrTXiTctBGK3xwxAjM2KIyVr6O0sxRZbXtdT2qmZqKmQSmCO3rIFg0rQILP102Ho2hu/iFhsk+N224TmbR4t7wModLEhjCyQCb9+aT5TulzXIVCxuwI7aZGoN4oz4cTina+LggxARvgpHBSQsXLNadUXF;4:x//jrw5Ng5yvVDgrkNiHQZxVvbdn9oaO2mTQ4lg/+Y/Vu4tnLpmhubm9Q8FYjHLhg4DGfSpfp0jqW+a22CzDhIkfLQMcT8sYiL2aJaIPwcn393ntGW9oAdXMpZlMNqCeTpKTUaiwZcCKM/lGiPp2xriRVkPwLF0AY76gndY6EdBTQkcC9of94aYLkzjfMvQPxJleYBzToC95/gjf2FdNbwE2ICYa1TJxsF+Ol9yoSnpsl0yDcmp5Xy6lF9zCgMK3cX9JW8F6N9p9NNCN46QNaglrel4mDi/HtovLu+1rIB8zrbGqLbRVXKZFbIApCPm2dXcOk9wqUimKZ6ajlCAVzg== X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(767451399110); 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)(100000703101)(100105400095)(93006095)(93001095)(3231021)(10201501046)(3002001)(6055026)(6041248)(20161123564025)(20161123560025)(20161123555025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:SN1PR12MB0157;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:SN1PR12MB0157; X-Forefront-PRVS: 048396AFA0 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(376002)(346002)(39860400002)(199003)(189002)(25786009)(1076002)(3846002)(6116002)(316002)(305945005)(50466002)(2870700001)(86362001)(50226002)(4326008)(23676003)(575784001)(54906003)(50986999)(2906002)(76176999)(97736004)(53416004)(101416001)(7736002)(68736007)(16526018)(478600001)(53936002)(8936002)(5660300001)(6486002)(33646002)(106356001)(105586002)(7416002)(6666003)(36756003)(189998001)(2950100002)(81166006)(66066001)(47776003)(8676002)(81156014);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0157;H:wsp141597wss.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjFQUjEyTUIwMTU3OzIzOnh2Yi9FOHQrRitMVFkvTzRiUjVLcTVHbVJD?= =?utf-8?B?a3gwc2h4VGlvUTlXOUg5Q2VaTjJWT1pKKzQxVnpNVzJGQlBYSDA0cjY1bkZT?= =?utf-8?B?SnFCWEZBOVNIbm44Z3NPT3NkTnFEK2NyeHVCRGV2ZjNGZjJLSUs5d0JyNS8v?= =?utf-8?B?THFDcmFBTTA0RkJpR3BOVXhmdEROZERLamJiaUIvWDFsQ0w3UVNETGd1N0Nv?= =?utf-8?B?UFpsajd1MFE5Skp0K0lsVEc4aUI4endzNXZmT2VBZmVabzB2K0JFQkc0REIw?= =?utf-8?B?TVVSbVhPajQvak4xd2g1cWhPSkF2ZEl3YjVMc2YyY3IwNmp3SnliRnV4THRu?= =?utf-8?B?aTFtR3BLOUsrQVdtZU5OaHNsRzNuL2sxODdrdU9nM3FoU2RBTUF2MnFiSFNp?= =?utf-8?B?eXNFaWR1OWdTMVdCNzJTaWxPZVYxbk55REZNdGswT0lMTkt6bGM2SFZPQ05k?= =?utf-8?B?TWFKcTM4ejFTcDNaMW1OWHUvemM4QWM5OXZrSVZ1ZmR3YTdwN3RmQURiQkVn?= =?utf-8?B?OStzaVB6a3pZSXV6WkxmM2VTOHBub3d6MmVSUEhCUytQRHQwYzh5N0cycld0?= =?utf-8?B?NWxIMjlFdHdHSDIzUm5rSVFCSEVVYTRxdTRhUVQvd3d5ZitiOTVWcXZyVDRY?= =?utf-8?B?VnNCckw5bmNmdHBwa0ZhR3RwckM4MWxaR25seUJWU3VzV2oydittMkFIbnJR?= =?utf-8?B?b0YvTk5naEFGdFBTUUExdmlIUlRTRC9nRTNVV1JZYk8zNXNRNWVyOG5TYk0x?= =?utf-8?B?Q1JEeGN5RmF1VytJL2ZiaW9QbHV0Szk2cnZmYXN6TnY0ekVnSDhOSFlPMGlC?= =?utf-8?B?QmpmVG4zTCt6MVU5MGFHUWVORDlmMWxUS1FKS21hTnRmUnB5czN2Y3lpaDBr?= =?utf-8?B?YkdQQ016OVNrcmNxcWVoSGs2YVd2SURHTHlNS1J5NWI5SHVkVFA5Q01ySTU3?= =?utf-8?B?ajJMc3BYRk9udkhhWjRJQTV3Rkl4akkrUDNBMFBacGhqNVVTUUE0NnRSeUNt?= =?utf-8?B?K2VjNEZFVmh1aHdsdUcwbXc3ZWJWTHVjbmZPRUVYSXUvNW55Z1lLMlgwb0Mw?= =?utf-8?B?QzBlS2U4bVVEL0lqOHlDcnZoZ2prR2FpWUs0UWh0SXRHdktXRnNrZzh1d2Ew?= =?utf-8?B?dlpzM1hYdnpFNW1ML3ZiTzllNDFTQ1RCMjhYVytxZmFzVFlObFhtRVRJeHYv?= =?utf-8?B?MnlqTWJaYXRzcFlINWtpOEdUREZ4U2h4cnIzaldvU2VFbXEwdUxZK0ovMUVD?= =?utf-8?B?a1pYZFVaOXM4dWMvdWVqemtDNlhoQjUyei9RQUlURzRyQ3BiZDBUOEtWSFB4?= =?utf-8?B?aGtDWGltS3l5bFBxQTlNVUtob1gxeUVUWHlabXJva0JvTW9zc0pvV0tLNW9S?= =?utf-8?B?MkFlckZ6bUozYzFjS3hpMWpLcDBjaGQ1R2xKS0ZNSTY2U0J2UmVNNlk5ODE5?= =?utf-8?B?K3ZNVTc3QXlSck9FbFg1aXJEbFhEcG5XNE9hYkFweHVCbFlRNVJuQkVMS3Js?= =?utf-8?Q?IxHxw0TikapMOx6ZXPlruvjrQ=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0157;6:RyS1lA0ZUHzg0DErpK/yKqaSc2W9wf7gTTjex8LhrN0iaIBw6hzNb9r8uSJz6jDijfcb6fPuN9rU46O2tUPBPcR8CpgFwbmCk70c31p3cN5FnktA5q4F0paUh1XpxQBlFB4v6ZfLyTMbLE17mLhwE8S1LYKRmA3sEIkqEzr1Izqk5syjCjWUwp79TMm0u9zq4R5vStUomEXK613kl95MkS38RlYMd2DQ1YWaF882Njd1n640JyrkcwUfVxwjU2nBPXFERGwK9SurCY3SJ8nXxNW29di2jmSoaZWU/ItDNdH/vNe5fQSp/ooLKMEt2AGTgDXQkR4qHvesqLy4dLGT+k4YDeLOYbtYV5Q0rCJqSwo=;5:akSFVw+vSRoJhfd2sFlltzxG2l+HT9/jK4L235VjNFR5mIbyMMUpu8uHa1j3fgVDVg0/G45fr9XQP06ydZ5pWzTSLJgO9KtjQg2YMAA/q9GeACC08xlSUuWFSIm/stV0hJquo8Wq5u/Mj5k/j4zrItCLbcHOMMJq37uOMiX8eew=;24:BlkE3reBbZWSKgAtP089UJirVPqOSUBXnCIxSx7e7inwrs+SvVkagpWgSEz4lGeb0UTN//4C8/gnhCXxtjJ33Vz3u6z5zcGfurYUNlZ45t4=;7:IA+umfJXmpsKWXLciekA1l73sy000eHOJuKIhwDSWS37A5Ox4vLRd7Dwo1H3IvhUZFZxadRH+lbXDkakQwCPEJaEQmQWbmOq8v3jtKp8YDLpJma7U8w4EDlSxotQeI0+d6x6wDQL8657QJbsDjf07S3XbAYkGQ2of9gRqN88A0KWCLgUeOuRGoPpVnBqAQmjsq0AH9akZhiN1hOaycd+QtgjTqfWfbfoY9WXDgxKpeMwAePfYsteGPfa4NoUHtrk SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0157;20:ZqKqMhyOiR8urknkIAVLC9n7sC26PClaadjb75tj3jdBfNTMzczP3SLAz82Tjssojb9ppKvHxzGJJToDvLXG1Ev/uxUWS+K0h3BxJ5EUE0k+1rxBIpeefq9+5NvktrELnuQFMRkld7xcIY6Ds4ZY1wR7+zRB8+6aLEM+Wjn1On0cnF6+STp5+txNOjnSaUv7CnuMF9P2H1dhbSuzpwjSbtmYJywUKQC4xLPfQOj3paO79JWVHi9k3+e02m8smtMY X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2017 18:15:43.8174 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b703e650-bd0c-4307-c189-08d525426561 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0157 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When SEV is active, on #VMEXIT the page fault address will contain the C-bit. We must clear the C-bit before handling the fault. Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: Paolo Bonzini Cc: "Radim Krčmář" Cc: Joerg Roedel Cc: Borislav Petkov Cc: Tom Lendacky Cc: x86@kernel.org Cc: kvm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Reviewed-by: Borislav Petkov Signed-off-by: Brijesh Singh --- arch/x86/kvm/svm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index 21c206a72601..388dc0f6d9e2 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -2400,7 +2400,7 @@ static void svm_set_dr7(struct kvm_vcpu *vcpu, unsigned long value) static int pf_interception(struct vcpu_svm *svm) { - u64 fault_address = svm->vmcb->control.exit_info_2; + u64 fault_address = __sme_clr(svm->vmcb->control.exit_info_2); u64 error_code = svm->vmcb->control.exit_info_1; return kvm_handle_page_fault(&svm->vcpu, error_code, fault_address, @@ -2410,7 +2410,7 @@ static int pf_interception(struct vcpu_svm *svm) static int npf_interception(struct vcpu_svm *svm) { - u64 fault_address = svm->vmcb->control.exit_info_2; + u64 fault_address = __sme_clr(svm->vmcb->control.exit_info_2); u64 error_code = svm->vmcb->control.exit_info_1; trace_kvm_page_fault(fault_address, error_code); -- 2.9.5