Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp3864928ybi; Fri, 19 Jul 2019 10:21:41 -0700 (PDT) X-Google-Smtp-Source: APXvYqzDlIV2I5/zk4pu8RyS0KNWTygwYxWggSTVDCKdYMHtnMylYrSPJoWYxXkPJcNLFL9gDLYz X-Received: by 2002:a17:90a:ad86:: with SMTP id s6mr59290195pjq.42.1563556901084; Fri, 19 Jul 2019 10:21:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1563556901; cv=none; d=google.com; s=arc-20160816; b=fHCXstGg63b4vFY32/Y8XsIxRLfw0vGfR2JG0suvKPSRrwLGStNrOsAs03LX+mOub0 +NePanLc7X9L5DNwW5YRWHCirCV/neZfsIaFfXQ+LhfNzUS02C0mpQnpJi8STL0gEzNV 7wTwTdxof7yiXBZtZdoA1d9dfYrcORs6R1AYPYwerfWOLQTE7Sd49ZGCstoLS14ukBpG aA2d8ijZWxuoV3apHsgU1IgmyHOTRiB4KxdCy7N0LjOCZh7MbVn0unW8mP7dgItMsi2O mAYHiGXVTKdp172kFWpJtNxiwrawZiYQAih/9ZrfJ716NZxWXiQLYOUDdloa4SskkUhN sJ0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:to:from :dkim-signature; bh=SyuzXM1UA0r411S68OsfdkYKutqC9A46TddWlatyHsQ=; b=KKS4mBe/U+OC3k9p2/KFeJ0DG5363qrULXNrlAo8zBvsHIX2IpTPl8rpDE+F/M5P9a +UCLZOKQ0q7Eu2IPS+p0MN1rYDk8EG11OoeXobGW63Mm7C918Si1autuSzK0klmuMYjx +zVFCJF72y8bqz9xQSofkjV5WF9OzHmuvJjxIXU1o9VCBRarbaAP5buB34sKEJI3ZooG l1NuAp/fL2yG0Tbt10JJ0ckYHqs7j787J2WRdN5tdb+6KP5Xah5evhGdjhlmITj1TSIT 8jEwwb0efD2Mb1PTkX+wG/O+yFbZw4hqyQnNB/je1NosRA5I0blXcC3CkkgNAM7gjNdp aiLA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=vTEXtvEH; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d185si2372704pga.352.2019.07.19.10.21.24; Fri, 19 Jul 2019 10:21:41 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=vTEXtvEH; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731228AbfGSQm0 (ORCPT + 99 others); Fri, 19 Jul 2019 12:42:26 -0400 Received: from mail-wm1-f65.google.com ([209.85.128.65]:54082 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727577AbfGSQmV (ORCPT ); Fri, 19 Jul 2019 12:42:21 -0400 Received: by mail-wm1-f65.google.com with SMTP id x15so29412192wmj.3; Fri, 19 Jul 2019 09:42:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id; bh=SyuzXM1UA0r411S68OsfdkYKutqC9A46TddWlatyHsQ=; b=vTEXtvEHhSuArsy9QXt3XHQbJbvp781op8ZBwDYw39LvNyfC/ICdcmHqY+/BCErSIs 5TgpjeHzeQrXXPycz2Sff3/1oFsCV0fy3a3W6GCrHdqLHR4bYHMCiNUiWYavNGUfxLqM h14Fw/nWo4HtVHTGRy1ElIsU9/AFJBuYcvY69DRa/V0cJP74WDmugxyCOIy9tNfTB6Z0 vr+OPw3OtSdjGN4kpxe532H8GyztrYsC2VOlTosqF05Y8MDMtt9L5ZIozYxhIjjUIUu4 jBe6usBUSBWiQjdCQ4a5WemFS6eJzY6kGs0MDXvoDA7n095RUkuTmNYzDJxjMUsNczxU kBdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id; bh=SyuzXM1UA0r411S68OsfdkYKutqC9A46TddWlatyHsQ=; b=nAEEkchpHxOEhNg6HsFdPngjlKQYqxHrWe8WV8b1tRsD/FDuoKTi2l3nTvvw4lX3Vu XyqT5ohyzOy+P9xfE7M3kzyBSM7V/zi10Ot3+zEyhtP/7uU53r1qaD+aglDNfmHg1GBQ tidKXaAgK1HqfzaJsdxruwv6Nb78/f8LuPBSFudVNgZT/wlx8dLdd34AOHH/RoZ0YuS0 JD0mj11uGUEdlw8woHClRTPhlR4BiM+jxobNDqQhJU+Rvp8pAdwRtZbFTrc4Gq/gG3eW B89xgwzFhugUgaQLYARQkuum/v/Wcp667XqNIjFSlBGQ8B3k+EUcR6o2TVrUk3OWHC/y v6fA== X-Gm-Message-State: APjAAAU7OZlwNBodPnSyaBIMR8vBTgHcY7U2iNOAFSGJoAo6HFndyCSP Gb2lDGZi6pwdFNlsIfhbsbpoMK171SY= X-Received: by 2002:a7b:c310:: with SMTP id k16mr11083048wmj.133.1563554539165; Fri, 19 Jul 2019 09:42:19 -0700 (PDT) Received: from 640k.localdomain ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id g19sm32764233wmg.10.2019.07.19.09.42.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 19 Jul 2019 09:42:18 -0700 (PDT) From: Paolo Bonzini To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org Subject: [PATCH] KVM: nVMX: do not use dangling shadow VMCS after guest reset Date: Fri, 19 Jul 2019 18:42:14 +0200 Message-Id: <1563554534-46556-3-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If a KVM guest is reset while running a nested guest, free_nested will disable the shadow VMCS execution control in the vmcs01. However, on the next KVM_RUN vmx_vcpu_run would nevertheless try to sync the VMCS12 to the shadow VMCS which has since been freed. This causes a vmptrld of a NULL pointer on my machime, but Jan reports the host to hang altogether. Let's see how much this trivial patch fixes. Reported-by: Jan Kiszka Signed-off-by: Paolo Bonzini --- arch/x86/kvm/vmx/nested.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c index 6e88f459b323..6119b30347c6 100644 --- a/arch/x86/kvm/vmx/nested.c +++ b/arch/x86/kvm/vmx/nested.c @@ -194,6 +194,7 @@ static void vmx_disable_shadow_vmcs(struct vcpu_vmx *vmx) { secondary_exec_controls_clearbit(vmx, SECONDARY_EXEC_SHADOW_VMCS); vmcs_write64(VMCS_LINK_POINTER, -1ull); + vmx->nested.need_vmcs12_to_shadow_sync = false; } static inline void nested_release_evmcs(struct kvm_vcpu *vcpu) -- 1.8.3.1