Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp2992770ybt; Mon, 29 Jun 2020 12:19:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxWKtCe/ube2XDX+jhlK8oLLUEC7wu2ObMXub3tK5kNZXzimT2GkMAPcf1X/TVSYatA8SxX X-Received: by 2002:a17:906:1357:: with SMTP id x23mr16032631ejb.148.1593458371402; Mon, 29 Jun 2020 12:19:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593458371; cv=none; d=google.com; s=arc-20160816; b=advO2DsTLmLngkIscVSc5XlXrOuQ+8h6YOmlK0WrEApUcv9LBqYHepRYAKdv/EGyXu zSdVea/2ERVKRRFBwOVPyy4s55WOvTZ5f54ZMaC8PVjvqeddSCfr6qILKRlMUfI6dfUH jzShQJdWxjAHkAfxk7evuDuj0E8bG6rbgF/Z9FmTtQxvR0oTQUk+DLC6cEItqpD6FaBD Cyodv3t/+agXMPq9LBwMYKk+zgt3pBkbRcT1OUWIp5maMUF/EC/SdaDbRftB2qbZCZ0l 3eWJ8SyXZcRDesNjqRbgQIjHfmd8dxSu74Vt9D1zQBM7KfANFcTC4pQD5X1xiIxNL6yU CF3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:ironport-sdr:ironport-sdr; bh=kSdEaZmh42DMyIWTey2rVxSUU5ZzcK3Ew4ZhG+/SOBA=; b=pP2bzdc03OkBo6BX+MIyvCcQgO8MtlxV5A1ziQd0o/+1vlIcMpMTjeMYmmApuZ3n+n ccaYvv/AhwNjZzaMG+IWk6NMSaDxW6i306YsFTQLfVp8SwlvK23euLhMap03q7pC6JZT a5yVqDxkORmAjslCILDSFM+IC7+A1NV70eJJsXbQRwYodL4zo9EZOFSeRrHzZ34zigBF aa2bo2zd58WiFWQw/tH0vwwiCU34Px+eG4U7L6xfmHOM3Cslx05QBzFyVWIlowkgbK1V xuQgLb5Rp0axoqlB/rPf1Ofzcs0Ijc2Ef94+MWzb3cDWvrtIaztJkqPH4kixYs0BYoih gpdg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cx20si220445edb.568.2020.06.29.12.19.07; Mon, 29 Jun 2020 12:19:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731935AbgF2TQ7 (ORCPT + 99 others); Mon, 29 Jun 2020 15:16:59 -0400 Received: from mga01.intel.com ([192.55.52.88]:63720 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726947AbgF2TQy (ORCPT ); Mon, 29 Jun 2020 15:16:54 -0400 IronPort-SDR: 3u8gdtn0V+O33IBQP5QiQx220SHS3qyrILm1griFN9Qo1imHZdoN2suzZpHDccy7cuTNRi/Gwu idJCLgcQhD+A== X-IronPort-AV: E=McAfee;i="6000,8403,9666"; a="164003720" X-IronPort-AV: E=Sophos;i="5.75,295,1589266800"; d="scan'208";a="164003720" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jun 2020 08:42:12 -0700 IronPort-SDR: 1JiA3oy9vAT2yPS3waIF9GsF3Qi46ZkiEA044OeZ6BVgLNwWsT/dgLo/bEd0OHfyQOTpdfo1Yr q9wBQMk/UYjQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,295,1589266800"; d="scan'208";a="280906554" Received: from sjchrist-coffee.jf.intel.com (HELO linux.intel.com) ([10.54.74.152]) by orsmga006.jf.intel.com with ESMTP; 29 Jun 2020 08:42:12 -0700 Date: Mon, 29 Jun 2020 08:42:12 -0700 From: Sean Christopherson To: Paolo Bonzini Cc: Vitaly Kuznetsov , Wanpeng Li , Wanpeng Li , Jim Mattson , Joerg Roedel , Vivek Goyal , linux-kernel@vger.kernel.org, kvm@vger.kernel.org Subject: Re: [PATCH] KVM: X86: Fix async pf caused null-ptr-deref Message-ID: <20200629154212.GC12312@linux.intel.com> References: <1593426391-8231-1-git-send-email-wanpengli@tencent.com> <877dvqc7cs.fsf@vitty.brq.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jun 29, 2020 at 03:59:25PM +0200, Paolo Bonzini wrote: > On 29/06/20 15:46, Vitaly Kuznetsov wrote: > >> + if (!lapic_in_kernel(vcpu)) > >> + return 1; > >> + > > I'm not sure how much we care about !lapic_in_kernel() case but this > > change should be accompanied with userspace changes to not expose > > KVM_FEATURE_ASYNC_PF_INT or how would the guest know that writing a > > legitimate value will result in #GP? > > Almost any pv feature is broken with QEMU if kernel_irqchip=off. I > wouldn't bother and I am seriously thinking of dropping all support for > that, including: Heh, based on my limited testing, that could be "Almost everything is broken with Qemu if kernel_irqchip=off". > - just injecting #UD for MOV from/to CR8 unless lapic_in_kernel() > > - make KVM_INTERRUPT fail unless irqchip_in_kernel(), so that > KVM_INTERRUPT is only used to inject EXTINT with kernel_irqchip=split > > Paolo > > > Alternatively, we may just return '0' here: guest will be able to check > > what's in the MSR to see if the feature was enabled. Normally, guests > > shouldn't care about this but maybe there are cases when they do? > > >