From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933688AbdKAVSk (ORCPT ); Wed, 1 Nov 2017 17:18:40 -0400 Received: from mail-by2nam01on0041.outbound.protection.outlook.com ([104.47.34.41]:43936 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933640AbdKAVRu (ORCPT ); Wed, 1 Nov 2017 17:17:50 -0400 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 v7 37/38] KVM: SVM: Do not install #UD intercept when SEV is enabled Date: Wed, 1 Nov 2017 16:17:22 -0500 Message-Id: <20171101211723.71594-8-brijesh.singh@amd.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20171101211723.71594-1-brijesh.singh@amd.com> References: <20171101211723.71594-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: CY4PR02CA0025.namprd02.prod.outlook.com (10.175.57.139) To BY2PR12MB0145.namprd12.prod.outlook.com (10.162.82.18) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 86f3e4b4-717f-4817-e076-08d5216e00b8 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(4534020)(4602075)(2017052603199);SRVR:BY2PR12MB0145; X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0145;3:TYTFVOL5k7w8fLKrpIjKQK+R+an4RMM7uDXyJUrPJTcEj7nDi12kO4qN14TceqQWU1uPfRIg39r24osnJc0Zkokvzj1jpf4gbEtpo+5jkbOQLLf+iun6KnuiIllMiQY71YiQG6evYdPCd0jSFYhJfPVOXlUYRTxXkptg3eAiN3Dk+wyOv/JNl7Pc47sYVLf8R7WyjRQiKIiUWp3//he7xShbj3FyHxT6EI7HNaubP413ibayUejsM5hbU1mM0oO5;25:/WPdOkXVdjflAXJeZX45vWOwY/O+bX5tGWC8dSQFKWfq2JnQin/NbI5hxX4iYN+CMRdey7iIRL52kMXYvk/it3uwGgZ94ppDd7i7AdR8njHu8sXFhiwMlxNvgKzPXGsWJYan1PiCFftjhzppWml91Y2Qv8Pt3vGy0mKqZs46u5tX1XXBhi1PWsbhNCq2KDKaU4CHaGARrUymdAvaSJZ6ww0rLLADDHpzqfZkpyaNDJUcAWJtAdZRki0yahkPruI+BhLiorb5HR36nxcjFF6MzcKoioUyEDImsgoyrQ2NnJljwNv3MYUFdGx+yuvsrL+iMGDk8U0DRYKD/X0hj6C1EA==;31:Sr+KQMkVoWJdzB4r3AcnLi+dScQnDSEEnzkxRoRw+AVThyUmLbcJfoV0RaTCBc5fC5+ZPPB6p+d6DhdLyOx5eUU7K3lsoi+WNLuwwUwQeh3npfDhhie9/PfSFuy8fDxOE3gCrX+91W7tI5STOpj5CzfWCCDnZl0unXsEYcSjUYy3ZefWdG/YkiHPejwjlZXaPMKAAI1/W7HeK24O62RYqPL9iSi+Z3J2orMXtw9Zz5I= X-MS-TrafficTypeDiagnostic: BY2PR12MB0145: X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0145;20:JyYm03NZ2RtWZGEspx+XfCga7wdJy0TDJIWaYcA6hFzync7DkH4vF+hEqzvSF/r4eUoYauyIyeZgjV2zX2YrQ7fdexspERotViQr8x0fqV7ZvottCmhCXvOHbS/iNdFosQ0fUWhv7SQ85EQLV+G4Ob4HWg8qEgv08CEkVC/qklcQLddxC7TJQcubA8g3wicUubULXPl7f0OTpIsI8Z6TQkm8itatd/nmExpKMeZFF3ScdjQkYsiuoaPPI8ep4arvRgGoX2wrnRq/Pz3UXTPdBwVH0QVtmZcLrvjV+ek63KOIWu2aY2g1HtxIC/R8HTA0CS87UXAcsE3cLO1SA3OdBd+Y6lkTBKhZ9XTaSnz91YXqrf1TuF1RVOMW9e91pW2oRwpzSQ2fYqHjbFWF2bCtvLrZ8ej+IEjr+28rrd3pwASgyRb9kGgu1GwD6TeCiYbqKqVCxYcqXuJ0OXGTwVlsOtrOVe9x7W3bp8o/1R+5ciJ6euZphrF78M7yRiV+Dpv8;4:s5zTpKoU8JI4iB14JzfzyKmZhE1enc3nJnakBZ+yOnQ7CCgOkQOHsIC0qTzAYWHFqdcFthMGw2njN+A1d2ONo0/rVVwnvh4SeUeiuJxSZWFGNpRDdeTwZ1dN6Qr8WDZS8noz4JZ516e5DAIHFwgDyD2CVRj7q+mJZzODXaDjdtv7yIrqJ4yV7ru+rc5vfBRbY6gBtElP4PRTsD+j3fDUw6EfJnWXgtT1JLfT23U0TeDOTPgPfaYSPy9MfVlC5JVTQxS95lt+s50u8elDJVxDPzfpdxIJphVXwl2FkE0gXHWHK0P/dfhKCQ6hLy9YEz2NBm9NBrnwm0TOrdUZLKq0Cw== 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)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3002001)(100000703101)(100105400095)(3231020)(6055026)(6041248)(20161123555025)(20161123560025)(20161123562025)(20161123564025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:BY2PR12MB0145;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:BY2PR12MB0145; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(39860400002)(346002)(376002)(199003)(189002)(23676003)(25786009)(2950100002)(4326008)(36756003)(8936002)(81156014)(81166006)(8676002)(33646002)(2906002)(68736007)(2870700001)(6116002)(575784001)(86362001)(3846002)(54906003)(97736004)(1076002)(53936002)(50226002)(316002)(47776003)(50986999)(53416004)(66066001)(76176999)(50466002)(478600001)(101416001)(6486002)(105586002)(5660300001)(6666003)(189998001)(106356001)(7416002)(7736002)(305945005)(16526018);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR12MB0145;H:wsp141597wss.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjEyTUIwMTQ1OzIzOlpVWTVPTmptOEpnSGttTDJURlpSWXZKSXBJ?= =?utf-8?B?Y0RtazMxbzFPTXF0TnhERGtQRHNjUVlRVnR1bzlpV29ieXVMdlNiemRZVGNQ?= =?utf-8?B?UXJWVHRFOC9DWEY5RzQ1UzM2bm13enlDMG9jbnM4RWtmbkxrWmpjajc4cTVj?= =?utf-8?B?UCtCRFd1a1hVTGpjQ2o2b3Q3amVFSHhBMUg2S3I4aktHN0lJYVJnTmRNN2Z3?= =?utf-8?B?Y01wNXBzSklBdDgzUEFPSmJkVkc5ZGJRVUVrQ1ZndEFQNG1wOXpFSlNOZW0r?= =?utf-8?B?bitGRlJzVGJJcVE4N09aczJLK2tLcTB5b3phTFdWbnQ1akExZnB3VXdHQnRE?= =?utf-8?B?a0xXZkZ2R3hVSTAwVzVBU2hyRlEzVnFmRGFySWxqd0FwY01nSTNhVkJZbllX?= =?utf-8?B?NzF4STBsOUg2emI0aW0wOER4Q2Zhd2Y4Y0ZTSXlTeXdFMHp1VzVZc01ZWFcw?= =?utf-8?B?L0NxR29mME10amp5Qms3a0ZaeEMxRmZFTFRyYnhISFNvYk9ic0xHVnlUMGxt?= =?utf-8?B?eTljSnBEaDkyMTRxY2N0TlMyOE1JSFVTZDJZS01NN0owQWNYWnI1VjlTZE5a?= =?utf-8?B?N0F2bmJ1d1ViUmo5V1lCSXhLVzBqL1JYZytzR2NqNHIyWnczWnljd2kyY3hO?= =?utf-8?B?b0hqK29MMFF6OWhMTEJNaGlNM1B5M2g1a1ZIQ0N2bWJrZFJyOHdaU0FLZjBh?= =?utf-8?B?b3Y0cDVKMDhnVEJvSFpVaTZiQWRLYkVtMjc3NW9HQ1JWVS8zMXZxamFrT25Q?= =?utf-8?B?Qkk0OVpoVjJhK2R3OHFWZW1ETlRvYWtidkxjcEF1TmNNbWlQTjE3ZWJjNW1q?= =?utf-8?B?TGhpMG9iTU9Wd2ZqTytveVdUTlU3WUFSNXBObjB1SStoK1ZxbnhNUE5telUv?= =?utf-8?B?Ujl3NnJSNFVLWkMvOGlVMjFFZWM5TnVMYmEyMnFnc2xmK3NxYlAvNFdnb004?= =?utf-8?B?R0xGdTZWYldBOEhOd1BYOXhudXRSOXhxN1JLNG90Rzg0cnZlQU5iTWg4dkNy?= =?utf-8?B?UXR6WEUzdjVZbG9JZ1RuWnZWWXNySnJGTGU1UnBJc014d2ZUcFhKWld1OWZY?= =?utf-8?B?T2t2OU4vMlQwZDdVclErNkg2bFhUZmRkbmJoWlBHYXhOWWJEM1YrdGRocTEr?= =?utf-8?B?eHBqUjlPNmorRUtKbEFRZURpL0RMU2dEOWU1bUlGbDkyOHRGT3RadThTdmMy?= =?utf-8?B?S0V1dVpEdkhqWkozc2RYa1V4d2FxVmNGWDFUUUowZ3BaT0puRVlHcjdTeWpE?= =?utf-8?B?aktyMDE0VUQzalkvcTBEQ1VFczlHUk4zL1ZlRFFaeGlUc0xudkl3OS8yZElr?= =?utf-8?B?cWNBOGZpelI2SVF4OXhmOEkxMUlnYndkb0hGSnBUa2QwUVJyZ3pGMzRyU1Fl?= =?utf-8?B?NnJaK2cwQis2TFZiNk0yVWEvUEZlckFGc2hwNEI2ZTRuVVVscEFac21vbVZF?= =?utf-8?B?d1ZUYllmMzIrTUF5YlQzVk5xVXFVVmNzUlM2MDdkQy9YUDB3VVlxUkJHZHpO?= =?utf-8?Q?9d5iN/E+CnsYIilQChUA02U4o=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0145;6:13oC9I1bAAxJhxh9f17Whmh435A+geVMi/b50qezsuiV+/1QVIafIX2qcHSOG923qv3p1BDey+VzjV3f6ReN95MVKwZhv8nwDElUi8q1qXTcYukOYRIFjgU4KSc2aoEudjxtTkDEot+Zj9aZnzgUwG7jThtsMOtNPr6kw3QoYLpTjVj7bBYDQ8OsMPDXGDyVxsbusFcF48sUF9yKdOZHAP5EHZHDHKY8tkem7VoRhzhXuDX2jvD3U3p3nxOcddFelidggISbhNW3uSxj7vEM3CP6+ganHxP2c+4JCiS8v57ZpvnGTuvGafhja9br3wgxYElO34vXZoF9THWHiV2tbn1aTvDPKElFTdO/yQc5GQs=;5:g8iLrA0UW0psGM0QP78nCb0c3PS/DxnAoohz3VBNdB+zZZ7+uhUFJ4kkDAiu29TkKLcmPMpXB7XwJycNDDbUOF1QV9yUXZLWT7kBRn6SimpM993azz02JUd2/abpm4nAexjSusOtUKsuD2GUPT2CMuuj555ZSyv+ejQjSlrzBsk=;24:ysji7/cpso1ShO9FoDi/O2yPS1WwjZDCx99iuhOmwTClrZPUakuyotJD37falnL5ug673uL9FMRqbI6SpY5giIKIQPXSSQdRGcYtmIDUO3g=;7:zZoUbdlLMxc55zbulnw2khFV2weCI8t9msFQ5vKm6QXkClsJa01eMW8ld29lceoOl+KGpHQlQ5/4F4fiAYb6X34E+gHZvZ71TrD5r5QESNgwu45pd1wsHtR4HU3ZwgwILcqKjQRaKsUW0MTeNPv8Ub/QhqDQ9GmbkR2OVZrZ2AE5i8rDmrKw9IhB8Vqw32NKUG9CeycV5s1hUfiD+pUS0Be4xqHLsOIa836xPF4RT6uxaLLWovzFLueRA73ji90L SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BY2PR12MB0145;20:ndXivIPjy/W8KdY9nuX2ubap1tJBbJvDtqUN8Zn7iILN8RAgEvyiSq734D2k6caFPBDWl8T/P1OCubaIMgUACWQHwx9ekqv8LtlhAHCQ44PS+vIPuN+Qce06dlsFXeA/UY9o85ghMEzyBGUGq/AZKBHGySCEYJOBei2A1fwMvdFN0xtN99pM7RhvLIq3PLoF8C4ux1CQwAVFJP8P9e+BZcH5GnUA1aHJcNrXbEoaI3qLjlFcsDu2yop41C+caKQ1 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 21:17:47.4872 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 86f3e4b4-717f-4817-e076-08d5216e00b8 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR12MB0145 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On #UD, x86_emulate_instruction() fetches the data from guest memory and decodes the instruction bytes to assist further. When SEV is enabled, the instruction bytes will be encrypted using the guest-specific key and the hypervisor will no longer able to fetch the instruction bytes to assist UD handling. By not installing intercept we let the guest receive and handle #UD. 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, 3 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index a0e5e22bb661..29c30ecde780 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -1421,8 +1421,10 @@ static void init_vmcb(struct vcpu_svm *svm) svm->vmcb->control.int_ctl |= V_GIF_ENABLE_MASK; } - if (sev_guest(svm->vcpu.kvm)) + if (sev_guest(svm->vcpu.kvm)) { svm->vmcb->control.nested_ctl |= SVM_NESTED_CTL_SEV_ENABLE; + clr_exception_intercept(svm, UD_VECTOR); + } mark_all_dirty(svm->vmcb); -- 2.9.5