From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752478AbdJTCgT (ORCPT ); Thu, 19 Oct 2017 22:36:19 -0400 Received: from mail-bl2nam02on0077.outbound.protection.outlook.com ([104.47.38.77]:40268 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752359AbdJTCf7 (ORCPT ); Thu, 19 Oct 2017 22:35:59 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; From: Brijesh Singh To: kvm@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, linux-kernel@vger.kernel.org Subject: [Part2 PATCH v6 37/38] KVM: SVM: Do not install #UD intercept when SEV is enabled Date: Thu, 19 Oct 2017 21:34:12 -0500 Message-Id: <20171020023413.122280-38-brijesh.singh@amd.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20171020023413.122280-1-brijesh.singh@amd.com> References: <20171020023413.122280-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: MWHPR1701CA0020.namprd17.prod.outlook.com (10.172.58.30) To SN1PR12MB0157.namprd12.prod.outlook.com (10.162.3.144) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 06d10556-812b-4671-da84-08d517634696 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(4534020)(4602075)(4627075)(201703031133081)(201702281549075)(2017052603199);SRVR:SN1PR12MB0157; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0157;3:D8+fGnky9TOsbbg87s5CFFgQsq75+sn+PQ7BYMV0IwUs6RwQIIAGNT0CKw/Hkl/JQIdVnqEqBLI5AR4NCcJYQxeMQjdrOxV5lNLhVUu5TGLhttz3tP80DBgZKBI2cvWajwfNuezuAzhQTemxug3jqksqWsEDRe3B2fxiTjv1UGe9cNFRjIlIJqh7SJ6XAJiQ45D85snKrui29qPeDHy2rNJCZlUOlA3UnoFmVo6I6qKS5XCfAs9sXfCtd2aM1u2H;25:djP7f/FRgNkEMIWw794LNXNGEh6UpwRWTkQaM2l9C1ufjO95W0fsF7skYP6z83dNkLx/CkD9C8Mt6+ARjnReCyrBKNFmf83afJljW6Tv41URf7GG8HA8y57RMbyLIGc2iiXs8NIyqZf+3rNoSgP2o8AGeuHxR7svjNqbLZ5z+nLSf4tr/XSxdyRKuvqpALXVu6P7XK6AP3l2x8tRtdz+Qs8anzs5TikjlwyuJK2EZy52eGNMN6WIKh8HdMHCmTi9QlQl1KgIscq9f59W5hKkhaoAwyyuSUxTctfNoMirQJLvErCZvHDxDlMgpNc6kq0UTOxSxQvjqWoMeXgvks5v9w==;31:Ev/iymZE4OuzKEIR6I2lZdNDyhckiO5e/issxBCbxk/V/YtKnMKv/WtFdYTovoucPmezVVmFHq+1fVn1PW0+Cr9UwbcuTGPh32ZAwUK48+gwQ4b5PUuv3ejcZvqMFXjLui3OYbjFElshBVWrdOwjNLxCakXMdxmgjbi6XOm7LRAl5Jlyo8dzTQ5WmS6rJ4Az5fWWgGJ8Oo/arlrNif+zKTuc0UmuDBz7OSScVJ9ujJE= X-MS-TrafficTypeDiagnostic: SN1PR12MB0157: X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0157;20:ZAIxxbpOg9ng5rcrlGyD0OlQ3Y4JkToJmDxr5YgznxfHkXvPmkgNHrqpyZJEYBVUGr0ZRPrmgSfLaJ2YAvEl7u9w2Z+P/CSz3J5gwRs17WCZ2nJLaf0Gb5QRHCcEuqdnj/ekYk+EToYyty3tBvYH9WkHgiPqpnV88XqkXwrw/0GngfQPs+yIvXYbKbOzvw8Lehg3conB0hsO8VXKpg+e3jRxq+aE/HQkiBZ8YycE1N6EKGZHjC2/1HIh0sL/nFAB8VEqQ9TpHSstZsWhhhGFQwEz5LI9XSULP2LxhaqPMQ6lBDP0tM8ZJxTmuuiqJ6+yLeupcHEPIq3gHDveN+JjjtIZs/HMFRt+cGyNn9utPLkP83Ksd4ktbzqSrBDzwuV812AMNAxvlJDYzkVAK26whuIfEZx1qsAFu+BDmaCVf/4ZaKZzJ+HAHd7ml2OW7O0nusR/y47UeCmFd1n8j+XqXRmZ9OEHJup/VkWUgNcRRp5eVO0lmEZ4xoSDRSBWH17z;4:2Yx/Pxoe1RFuZHO1luHOd2DXrEOtCKIF6uBCman9jh+97bGn6lkoFCXDbB7j3WyjENRGvsTVl/JlTJEjxFT/usJQ/vU/ZRE94GLI2j7qIZ5XEX3CmO+fWcpJmC70rNhRlyzrHBx8A0g1UuGKq3of2UgUNAVq2D1P4zGOYVt6wVe7Zx/Ie7IS6L3UuM4Yxw0m1ZwZ8+hx96b8Rrym1ChwPMt7LGg22ZppMp8Q/vRiy0jRjrauX/YI4YnDN8J6ZmLCmhm1o4llAQZaK/O66tgyVZPsJRKDEyXP8uLSUkEptVsWORgv9TY/fi41/xwdPI11 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)(3231020)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(3002001)(6055026)(6041248)(20161123555025)(20161123564025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123560025)(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: 0466CA5A45 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(346002)(376002)(39860400002)(199003)(189002)(36756003)(7736002)(68736007)(50466002)(1076002)(478600001)(4326008)(16526018)(316002)(53936002)(6486002)(86362001)(575784001)(305945005)(53416004)(54906003)(50226002)(2351001)(106356001)(101416001)(81166006)(105586002)(8676002)(2361001)(76176999)(2870700001)(2906002)(50986999)(6916009)(23676002)(66066001)(47776003)(6666003)(97736004)(6116002)(2950100002)(189998001)(8936002)(3846002)(33646002)(81156014)(7416002)(5660300001)(25786009);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0157;H:ubuntu-010236106000.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjFQUjEyTUIwMTU3OzIzOldxZ1I5UHlHalNzYkJ1WG51Q080Vnp2Q2JV?= =?utf-8?B?U2lTZE4wK0pZOTVOR1MwOU9OL2ZaYWlJRUtIS0tYeEFuckMzZDYzZXRteDF3?= =?utf-8?B?K3NVL0ZReVpOZldDd3poSnhodWsxbGpHdFhJZkQyaEdqSnpPTForV2xzd0hV?= =?utf-8?B?bDlDa0gxYW95TjErczlBaTF1bVo1d3hSbzBkb2ZSU1R4NlJ3eTlxYUYvZTdp?= =?utf-8?B?QytMaUY4bjlWaW16c1MvNGI1TnlZcXZPUTZFM2JHTFgycnRXSEF4UCsrZWxZ?= =?utf-8?B?Sm5OaHVuRm5DNzZjS0FmT0RBNXdWWmIxOGJOdDVoZkptK2lmcjVwMGxVN0tQ?= =?utf-8?B?NW1xVG9TdHo4OXdqZWhvMUM0NEZnb3Y1YVFqSGh4d1llSGVpeEZhVEJKMW52?= =?utf-8?B?MXI0OCszVVA4aEVWSXg2c3ZYSDJSc0piOENzM1NDUUUzdDM0cldYZDIyN25P?= =?utf-8?B?RG5lTmtRKy93QVFKMnRsWVpVd0hodEJGdW9OVUVoT0RKNFBIY0w5Qkk1VGtR?= =?utf-8?B?YkM1SXpSK25HaTEvcjZ6SXU1Tm5CZnRmMitKc284ZXFpWElLdE12R0RKT3Jq?= =?utf-8?B?am0zSUhKU1pRbWZLNnNmYUpCWFJQWHRCSU9yVXU1elM3WWIzM3FtOFUvbE9x?= =?utf-8?B?dndLVkhLSlI1cEQ2aU1YMVlKdER2VGtDUzhzblM4VjN5dy9MYXoxeG1WdzV2?= =?utf-8?B?OTgyVmZXMXZ5bGJuS3NpMUJCb1pUWVBYSGRwTlJ3WG5peE9yWHF3bEdsNk51?= =?utf-8?B?eXZMQSsvQTJWeUFiT2NIQlZ0Z0dYbm9ILzdTTzVwaG9qWEtPMVRyZHcwTFpQ?= =?utf-8?B?blQyV1NKOXpPKzMwY3p4cCtvTWZJRUtMSERNa1dxVUw3U3ptcnpReW1mWmU2?= =?utf-8?B?eXdRK25TNU9wSkRXS01QeHF3VC9GQllOeG94d0srSjBheHdTbG1xTmZkSUpk?= =?utf-8?B?bnBOT25xcSs3OU5LQnZ2cE1jVnlmQ21CRU4ycTBIMHpHN3hrU0RwdytjLzZi?= =?utf-8?B?WnEwOFhmZnVxZC81TzkwMzBhNEk0by9YZ0xhN1JMMmJRclptWnFQRFVZVzBG?= =?utf-8?B?L0o2alR6ZmY4aGRZYVVwVmxSbzNjbyt5ckFYaGI5SUNyMXVaaUVWVGJUSUhZ?= =?utf-8?B?ZU9EREdrVWRUNWNMSEh0eEJ1SkdPbXhmT1VOR3V1TFhKQm12ZlFiVk9ndklp?= =?utf-8?B?M1NrUXNnV2pNUzRsaVVqVFlxL0ZJL0Yxdkp4cldETEZGaE84bEQ5ajh3MVlO?= =?utf-8?B?MUMxdm1VOHNyTGtUMm14YXNwTnQwSk9KcE5XTVU4VkcwMXorOEF2dTNLbjJ4?= =?utf-8?B?M3ZpTUhjUlcrWktFNVBLUEJoY3lqaHZydDgzdzhvamxBYnRTVXJ6Q1hidDkr?= =?utf-8?B?b2hkZXBzVnJCUEFjYSthR3QzMmlURUZ4ajVJTWlQMzlESnNtN1NWTkJGbkZH?= =?utf-8?B?YXhQSndmalF2WlYrc3NyWDJsdkhYZGJ5TmN0d0pSME11MGc5KzZxV1ZqcW0y?= =?utf-8?B?eHk5WVFtUm56NnBmN0RKQ3dRekdoWFhqaFBOSEEySGVwaE5ub241cVkvRCtr?= =?utf-8?B?bGhVMk1EdW43QXZLYXREbGUxR3EvWEE9PQ==?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0157;6:jXxLiMdwUIpS4Sj9btjYOhpK4yxqpODENlFZucB5+HNSZ3Bq05fxX15JFPEtw8IvtBj6UY3Wqyjdv/m758dE9tUVk5+j3+cjA4x0SlI9bFEylxh5+JhFKIMzUJ/uLI4K3ADjuStbsjCJcQ/HFrmecI+weipV9hTh25jnpzd2vQ4OnteMR8jFjCwrNyRoFVNUsUlidqC/qnGqunnlgY5jX3ku/Bi+d3dfH21Iv3dM6i7Ww7xVVoIuS+Usf7mSg/H0A60qw5i4k5wY8qa5nR8WMXDEUDw0drrXc8f2HzA3jWcGN/ZHpe1ixojW+gP4iUcWItR/9IUlB5ma/+/D2/yQcA==;5:Z7v48GegWw84WGhO9dEeq+HqvhZB2QW8Q2+MD8/kLFBIfOs1Amg194tj2ZA7GHKf/jY2Fo+rI0Hs0AcXowUxuggt9cIZTU5o0Zk0Z7kDxrLqbcmRTnKnNUufoNtqpzE/N3QDR67/H6ICK3mOtsbNag==;24:dsxdRffB0P4Kc65OtjsTEE60B62nS687MyN1QvOH/mU0LkV9WuUsTM0Ots+zrx1xYPpBR1ohMOLqpDndW6QQBPw4D4PvjOVrVgUa66CLj4Q=;7:ecQxSrFgrwNvIkqWQU1oo0PRlU1UpBQ43X15pOP34CrNhE4z5WC11nIlH2cHk8QCR6wYHsLls8pB4mtlri+sdluq26P57fiC+Oa7V3tpkgUeKlOUe8B4cyQP0BGf+WgYmfZ/1e0zzrJH7ueERO4UBA0cxantMb8AbO8ayijJd+soT7wSlIN/W6wfK0B1bpKO6ECVmAnS/Yx3CXZso64BiOOmspJIrhV5T8AGynWHNBc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0157;20:yIuFORjZAGmcl9VZIEYP8MnJ/dJ/Z+TfWllvqvhpYLoeoWL/eMcxDKoHR3J7zcNVee/hjx0Ty6lFPZenv1mySLyovLjbbY92wQZL6CnB/PNiL9e1Hf9Pn3f+fjCb4N1QHOrC9FkrvZwuW00LR9R2RzHODEJSLiOvVKNPSNlgD74PF8AD5ki5ifGqi7kUoJsiOJR5xwBTyDpS4k1Q0lpVxkJsMWJr/PvVgpgxU3gWoShIGMrwZyzKklCGkVpabENn X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2017 02:35:47.9254 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 06d10556-812b-4671-da84-08d517634696 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 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 e1eaaf2fbe80..cd0a94e12c2a 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