On Mon, Sep 27, 2021 at 12:28:46PM -0700, Sean Christopherson wrote: > commit 8646e53633f314e4d746a988240d3b951a92f94a upstream. > > Invoke rseq's NOTIFY_RESUME handler when processing the flag prior to > transferring to a KVM guest, which is roughly equivalent to an exit to > userspace and processes many of the same pending actions. While the task > cannot be in an rseq critical section as the KVM path is reachable only > by via ioctl(KVM_RUN), the side effects that apply to rseq outside of a > critical section still apply, e.g. the current CPU needs to be updated if > the task is migrated. > > Clearing TIF_NOTIFY_RESUME without informing rseq can lead to segfaults > and other badness in userspace VMMs that use rseq in combination with KVM, > e.g. due to the CPU ID being stale after task migration. > > Fixes: 72c3c0fe54a3 ("x86/kvm: Use generic xfer to guest work function") > Reported-by: Peter Foley <pefoley@xxxxxxxxxx> > Bisected-by: Doug Evans <dje@xxxxxxxxxx> > Acked-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> > Cc: Shakeel Butt <shakeelb@xxxxxxxxxx> > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx> > Message-Id: <20210901203030.1292304-2-seanjc@xxxxxxxxxx> > Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> > [sean: Resolve benign conflict due to unrelated access_ok() check in 5.10] > Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx> > --- > kernel/entry/kvm.c | 4 +++- > kernel/rseq.c | 13 ++++++++++--- > 2 files changed, 13 insertions(+), 4 deletions(-) Applied, but we also need a 5.14.y version as well. thanks, greg k-h