From patchwork Fri Jul 15 13:54:04 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Cao, Lei" X-Patchwork-Id: 9232149 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 24F7660865 for ; Fri, 15 Jul 2016 14:26:39 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 141951FF8F for ; Fri, 15 Jul 2016 14:26:39 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0572B27F86; Fri, 15 Jul 2016 14:26:39 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E5CD71FF8F for ; Fri, 15 Jul 2016 14:26:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750851AbcGOO0f (ORCPT ); Fri, 15 Jul 2016 10:26:35 -0400 Received: from mail-bn3nam01on0106.outbound.protection.outlook.com ([104.47.33.106]:34848 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751071AbcGOO0e convert rfc822-to-8bit (ORCPT ); Fri, 15 Jul 2016 10:26:34 -0400 X-Greylist: delayed 1946 seconds by postgrey-1.27 at vger.kernel.org; Fri, 15 Jul 2016 10:26:34 EDT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=StratusTechnologies.onmicrosoft.com; s=selector1-stratus-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=8NkjduN5fiDufmiwDnFGO89aGZNWu83/k5xqMQEnre0=; b=nJvGMNEQMbp8b78OIuj88peQ6WzSSNGCS97Pir2exeKN5JpP8a5CwX/vD9i7A4vcLaCgpOmsOZjz6Q9C5YPSLLPONpgNXXn4xIfZ4B0litDQmFhyOYdbqjzzG+Zrsen3yHczG+FGPREnCTbtzGfea3jKxFuhg6qbzcEcZRlfylM= Received: from CY1PR08MB1992.namprd08.prod.outlook.com (10.164.222.24) by CY1PR08MB1991.namprd08.prod.outlook.com (10.164.222.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.544.4; Fri, 15 Jul 2016 13:54:04 +0000 Received: from CY1PR08MB1992.namprd08.prod.outlook.com ([10.164.222.24]) by CY1PR08MB1992.namprd08.prod.outlook.com ([10.164.222.24]) with mapi id 15.01.0544.010; Fri, 15 Jul 2016 13:54:04 +0000 From: "Cao, Lei" To: "kvm@vger.kernel.org" Subject: [PATCH] KVM: VMX: do not exit to user space with error when PML full VMEXIT occurs during event delivery Thread-Topic: [PATCH] KVM: VMX: do not exit to user space with error when PML full VMEXIT occurs during event delivery Thread-Index: AQHR3qBZi4rm86wtw02luS5dn5r6+w== Date: Fri, 15 Jul 2016 13:54:04 +0000 Message-ID: References: <201607151313.u6FDDnDT017747@dev1.sn.stratus.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Lei.Cao@stratus.com; x-originating-ip: [198.97.42.5] x-ms-office365-filtering-correlation-id: 10e08c6f-9c03-4e58-3cf9-08d3acb77be4 x-microsoft-exchange-diagnostics: 1; CY1PR08MB1991; 20:lwz49vk2ET6YzOxcjUXPGNLIobKhBFnS1Mxgiht6he3NhHdPXOa1PvnnB3757p8SMv+g699C3b8tRURNP7oUAqJUPHBvgGhMgISN2giNuZv0lzfLcpGMYjhWsBYy2h7SqdxXaZLh56iU7NWBTqKoh6L3s0SbARlJ/FKAcIS7u2c= x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR08MB1991; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001); SRVR:CY1PR08MB1991; BCL:0; PCL:0; RULEID:; SRVR:CY1PR08MB1991; x-forefront-prvs: 00046D390F x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(7916002)(189002)(199003)(81166006)(305945005)(1730700003)(99286002)(8676002)(68736007)(2351001)(81156014)(3660700001)(76176999)(101416001)(11100500001)(3280700002)(2501003)(87936001)(105586002)(6116002)(102836003)(7846002)(106116001)(54356999)(2900100001)(10400500002)(5003600100003)(74316002)(3846002)(7696003)(586003)(229853001)(5002640100001)(7736002)(122556002)(2906002)(33656002)(8936002)(76576001)(86362001)(66066001)(9686002)(106356001)(110136002)(77096005)(189998001)(97736004)(107886002)(19580395003)(19580405001)(450100001)(92566002)(50986999); DIR:OUT; SFP:1102; SCL:1; SRVR:CY1PR08MB1991; H:CY1PR08MB1992.namprd08.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; received-spf: None (protection.outlook.com: stratus.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: stratus.com X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jul 2016 13:54:04.5468 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: de36b473-b8ad-46ff-837f-9da16b8d1b77 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR08MB1991 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP With PML enabled, guest will shut down if a PML full VMEXIT occurs during event delivery. According to Intel SDM 27.2.3, PML full VMEXIT can occur when event is being delivered through IDT, so KVM should not exit to user space with error. Instead, it should let EXIT_REASON_PML_FULL go through and the event will be re-injected on the next VMENTRY. Signed-off-by: Lei Cao --- arch/x86/kvm/vmx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 64a79f2..85bf9f3 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -8224,6 +8224,7 @@ static int vmx_handle_exit(struct kvm_vcpu *vcpu) if ((vectoring_info & VECTORING_INFO_VALID_MASK) && (exit_reason != EXIT_REASON_EXCEPTION_NMI && exit_reason != EXIT_REASON_EPT_VIOLATION && + exit_reason != EXIT_REASON_PML_FULL && exit_reason != EXIT_REASON_TASK_SWITCH)) { vcpu->run->exit_reason = KVM_EXIT_INTERNAL_ERROR; vcpu->run->internal.suberror = KVM_INTERNAL_ERROR_DELIVERY_EV;