Received: by 2002:a25:ca44:0:0:0:0:0 with SMTP id a65csp2398004ybg; Thu, 30 Jul 2020 20:21:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyEy7IXAp6kgVQX5lux/LEoFRsNzrsho2Pw9WPuP5fqzY7wCx75aE/XrJCvxIbhaAlwActt X-Received: by 2002:a50:e1cc:: with SMTP id m12mr1961673edl.378.1596165673291; Thu, 30 Jul 2020 20:21:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596165673; cv=none; d=google.com; s=arc-20160816; b=AwJZhBW30WSF0qrZLHkuoiyOupXA+7vT2k+4dTHpQJg8Z4zGYNtb77d6LkFgwlLIWY nXdaZzhD7yW9QmRqk9byCjlObC9DOjbgsAM0LOldTmrCJ+06BX+sItNqtP6AZkV4TyRS btQ2li4D0/lxcx1fcyN++WXswBaP6WE2gsU844fwRx8/ylNmBGYi7WPtUWwGlnD6YylH a/f1/xJobPdXBMla0gRyBgKBmyjO5Dp62I+1DGfvp9WgjUe2Sa9/GoPpOgLqSUrP+MKL eR/Kczos7rXYfhZLevOYaAnbVMm5YrPTr0IEbK5HM7EcJhUQNllO7cj2O6ECnbvYJ4u3 Biyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=9ENQWuwdn/hvmQ301dN3tmkkB+LAcEklgYZq8xuTSYw=; b=06ZuhMMfDQR1k/i0gKClB9UmwfcNYkymnoM63uI26o9erQde159OQxPJ91TqeNGmzI whlMXLeCpGFi04rva9i7DroEDQIXN1FIcz1u14zJf/l4OD9wvdNzT9zqpywOaExKCVaY 2y95MNW1DHY9jptIKKBXqc9mKCjYtF76nVf6Fg/PhHLSpvkQ5mTqbo40edJEkRWYeGaQ Relw+sG7v1dSZBaB1YOVjOaQ6S1AhvuPqDT8tnDt1/OO9fJr4DrgWZaF+Ok5pePF1Cuf muYv3ApuHsSy0MacWkvnL09zWQHWKiWMNQK5fdiuT5dIxgXbo1YyZmJvFrGyeKYpsCTN NJ0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=TIDl8Ys7; 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=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j8si4105902ejy.610.2020.07.30.20.20.47; Thu, 30 Jul 2020 20:21:13 -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; dkim=pass header.i=@google.com header.s=20161025 header.b=TIDl8Ys7; 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=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731309AbgGaDUU (ORCPT + 99 others); Thu, 30 Jul 2020 23:20:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60972 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731262AbgGaDUS (ORCPT ); Thu, 30 Jul 2020 23:20:18 -0400 Received: from mail-io1-xd42.google.com (mail-io1-xd42.google.com [IPv6:2607:f8b0:4864:20::d42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A0C6CC061575 for ; Thu, 30 Jul 2020 20:20:18 -0700 (PDT) Received: by mail-io1-xd42.google.com with SMTP id l1so30373519ioh.5 for ; Thu, 30 Jul 2020 20:20:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=9ENQWuwdn/hvmQ301dN3tmkkB+LAcEklgYZq8xuTSYw=; b=TIDl8Ys7hSbhzPM2mHauS/ReeI+JqpSYdopU1RM4jHqMdHyOREE8Vlve22yEcLgG1g 507Ue8awfbRghdJ6vHS7inQajFgR44+iuLum18eYJ4hfDSN1S6KUduhnIMPL3ZmQXMEe bXbTAT0L5i4kFIvbXtqJChwmEeU9jKVIXrzpt1k7cmweAl/VN+NibANBQewidfEf++u7 8dqcdFbcBpaTDSykn8SNEj0wY0IWGltFTuCoa05AD2Lo27I8s5PDEVm65Svb2mQs8Vpc ircCbnkbzNISgoVFgfVWIh7282qoaV0k1q6yMjGZrfK+R9xL0dFRLf9mqvTL+amTzxpe iRZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=9ENQWuwdn/hvmQ301dN3tmkkB+LAcEklgYZq8xuTSYw=; b=Dz2QeKWDqAA0ECPTOytx9Hp6stq+VquxRo9e/2O6oc4uNDHTRdP1iMIC/FsOqTeE5o FMiMYIiklx+qswr6bgSAUF1iqjamUTt9OMrwzEONIPbgCW7OdqTpKCGiuQgpSWVGCSnw oJkZPpMy97YROOw57xCH2AZ2rj8+YrMZy485hx/q0PZisvQWc1YFg3UqoSLGisx+b+94 Rk1vwbUEcBhyoNlPe/867Z3aVPNZMfcN8CIesx6l4DeuL0YHrkLOIQzRyGQkBBXtYqZb QKu4ym7cwj95f1vN1YhG+GK3OALHOXaHK9pT8HJFrGWzWr6Y3diFU8pUmtp9IMwlEqHS cXfg== X-Gm-Message-State: AOAM532CF43DRknSkUDgD09VfuUsP6gYR7Z0DQA1w9ILNCOFA7oDSySz wIKFc2vvyRO2h+O87wTYOq0CHnbMvzJr3XoBOldJzA== X-Received: by 2002:a6b:c3cf:: with SMTP id t198mr1674974iof.164.1596165617501; Thu, 30 Jul 2020 20:20:17 -0700 (PDT) MIME-Version: 1.0 References: <20200729235929.379-1-graf@amazon.com> <20200729235929.379-2-graf@amazon.com> In-Reply-To: From: Jim Mattson Date: Thu, 30 Jul 2020 20:20:06 -0700 Message-ID: Subject: Re: [PATCH v2 1/3] KVM: x86: Deflect unknown MSR accesses to user space To: Alexander Graf Cc: Paolo Bonzini , Jonathan Corbet , Sean Christopherson , Vitaly Kuznetsov , Wanpeng Li , Joerg Roedel , KarimAllah Raslan , kvm list , linux-doc@vger.kernel.org, LKML , Aaron Lewis Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jul 30, 2020 at 4:53 PM Jim Mattson wrote: > > On Thu, Jul 30, 2020 at 4:08 PM Alexander Graf wrote: > > Do you have a particular situation in mind where that would not be the > > case and where we would still want to actually complete an MSR operation > > after the environment changed? > > As far as userspace is concerned, if it has replied with error=0, the > instruction has completed and retired. If the kernel executes a > different instruction at CS:RIP, the state is certainly inconsistent > for WRMSR exits. It would also be inconsistent for RDMSR exits if the > RDMSR emulation on the userspace side had any side-effects. Actually, I think there's a potential problem with interrupt delivery even if the instruction bytes are the same. On the second pass, an interrupt could be delivered on the CS:IP of a WRMSR, even though userspace has already emulated the WRMSR instruction. This could be particularly awkward if the WRMSR was to the x2APIC TPR register, and in fact lowered the TPR sufficiently to allow a pending interrupt to be delivered.