Re: [PATCH 5.10] KVM: rseq: Update rseq when processing NOTIFY_RESUME on xfer to KVM guest

From: Greg Kroah-Hartman
Date: Sun Oct 03 2021 - 10:16:29 EST


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