All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Sohil Mehta <sohil.mehta@intel.com>
Cc: "Chang S. Bae" <chang.seok.bae@intel.com>,
	kvm@vger.kernel.org, x86@kernel.org,
	 Paolo Bonzini <pbonzini@redhat.com>,
	Thomas Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>,
	 Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	 "H . Peter Anvin" <hpa@zytor.com>, Shuah Khan <shuah@kernel.org>,
	Binbin Wu <binbin.wu@linux.intel.com>,
	 Peter Zijlstra <peterz@infradead.org>,
	Kai Huang <kai.huang@intel.com>,
	 Fuad Tabba <fuad.tabba@linux.dev>, Chao Gao <chao.gao@intel.com>,
	 Yosry Ahmed <yosry@kernel.org>,
	Claudio Imbrenda <imbrenda@linux.ibm.com>,
	 David Matlack <dmatlack@google.com>,
	Bala-Vignesh-Reddy <reddybalavignesh9979@gmail.com>,
	 Kishen Maloor <kishen.maloor@intel.com>,
	Rick Edgecombe <rick.p.edgecombe@intel.com>,
	 linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org
Subject: Re: [PATCH v4 4/7] KVM: VMX: Implement LASS violation check
Date: Tue, 15 Sep 2026 07:04:49 -0700	[thread overview]
Message-ID: <aqlQgQgnLDf2CHqx@google.com> (raw)
In-Reply-To: <c5076e4a-0335-4ed1-8049-a3ddf486ea03@intel.com>

On Mon, Sep 14, 2026, Sohil Mehta wrote:
> > Yes, this could be a matter of taste as taking and going to maintain the 
> > code. But as a reader looking at this, the logic was not that easy to 
> > capture at a high level.
> >
> 
> At first look, I found it a bit hard to follow as well. But instead of
> splitting out the logic into 4 static functions (which have limited
> value to the rest of the file), how about we add a high level comment on
> top of the function?

This is a great idea!
 
> I'll let Sean comment whether he prefers to change anything here or
> leave it as-is.
> 
> Note, some function names in the proposed diff could be misleading. For
> example, is_user_mode() checks the IMPLICIT flag in addition to the CPL
> which feels odd. And, is_lass_enforced() seems like a generic LASS check
> but in reality it only covers the supervisor data rule.

Yeah, this is my thinking as well.  In most cases, I would agree that we should
make the high-level concept as easy to follow as possible.  But helpers like
these, and even is_user_address() vs. is_supervisor_address(), highlight why I
think we should keep the more open-coded version in this particular case.  IMO,
the control flow isn't hard to follow because of poor coding/design, it's hard
to follow because the actual behavior of the CPU is complex and subtle.

So for me, this is more of a feature, not a bug.  I.e. I *want* to force readers
to slow down a bit, because while the basic gist is indeed very straightforward,
I think the resulting code is actively misleading if we bury the complexity and
subtlety in helpers.

That said, I love Sohil's idea of adding a function comment.  Someting along the
lines of "The basic flow is this: <example>, but the actual behavior is far more
subtle due to many exceptions and edge cases".

  reply	other threads:[~2026-09-15 14:04 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-06  1:15 [PATCH v4 0/7] KVM: x86: Add LASS virtualization support Sohil Mehta
2026-08-06  1:15 ` [PATCH v4 1/7] KVM: x86: Add an emulator flag to differentiate branch targets from fetches Sohil Mehta
2026-08-06  1:15 ` [PATCH v4 2/7] KVM: x86: Use linear_read_system() to read the TSS I/O bitmap Sohil Mehta
2026-08-19  3:19   ` Binbin Wu
2026-08-19  5:03     ` Sohil Mehta
2026-08-19  5:21       ` H. Peter Anvin
2026-08-19  5:26       ` Binbin Wu
2026-08-06  1:15 ` [PATCH v4 3/7] KVM: x86: Add LASS violation checks during instruction emulation Sohil Mehta
2026-08-19  5:58   ` Binbin Wu
2026-08-06  1:15 ` [PATCH v4 4/7] KVM: VMX: Implement LASS violation check Sohil Mehta
2026-08-06  1:52   ` sashiko-bot
2026-08-07  1:42     ` Sohil Mehta
2026-08-19  8:49   ` Binbin Wu
2026-09-14 17:43   ` Chang S. Bae
2026-09-15  5:10     ` Sohil Mehta
2026-09-15 14:04       ` Sean Christopherson [this message]
2026-09-16  0:12         ` Sohil Mehta
2026-09-16 18:38           ` Sean Christopherson
2026-09-16 21:49             ` Sohil Mehta
2026-08-06  1:15 ` [PATCH v4 5/7] KVM: x86: Virtualize LASS and advertise support to userspace Sohil Mehta
2026-08-19  9:01   ` Binbin Wu
2026-08-06  1:15 ` [PATCH v4 6/7] KVM: selftests: Add coverage for LASS CPUID and CR4 handling Sohil Mehta
2026-08-20  6:01   ` Binbin Wu
2026-08-06  1:15 ` [PATCH v4 7/7] selftests/x86: Add a userspace test for LASS enforcement Sohil Mehta
2026-08-20  6:36   ` Binbin Wu
2026-09-15  3:22     ` Sohil Mehta
2026-09-14 18:21   ` Chang S. Bae
2026-09-15  3:16     ` Sohil Mehta
2026-08-26  3:50 ` [PATCH v4 0/7] KVM: x86: Add LASS virtualization support Kishen Maloor
2026-08-27  3:18 ` Chen, Farrah

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aqlQgQgnLDf2CHqx@google.com \
    --to=seanjc@google.com \
    --cc=binbin.wu@linux.intel.com \
    --cc=bp@alien8.de \
    --cc=chang.seok.bae@intel.com \
    --cc=chao.gao@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=dmatlack@google.com \
    --cc=fuad.tabba@linux.dev \
    --cc=hpa@zytor.com \
    --cc=imbrenda@linux.ibm.com \
    --cc=kai.huang@intel.com \
    --cc=kishen.maloor@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=reddybalavignesh9979@gmail.com \
    --cc=rick.p.edgecombe@intel.com \
    --cc=shuah@kernel.org \
    --cc=sohil.mehta@intel.com \
    --cc=tglx@kernel.org \
    --cc=x86@kernel.org \
    --cc=yosry@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.