From: Greg KH <gregkh@linuxfoundation.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: avagin@google.com, bogomolov@google.com,
dave.hansen@linux.intel.com, stable@vger.kernel.org
Subject: Re: [PATCH linux-5.15.y] x86/fpu: Stop relying on userspace for info to fault in xsave
Date: Fri, 23 Feb 2024 17:04:33 +0100 [thread overview]
Message-ID: <2024022312-bulginess-contend-ac94@gregkh> (raw)
In-Reply-To: <87msrtftnv.ffs@tglx>
On Wed, Feb 21, 2024 at 09:29:08PM +0100, Thomas Gleixner wrote:
>
> From: Andrei Vagin <avagin@google.com>
>
> Before this change, the expected size of the user space buffer was
> taken from fx_sw->xstate_size. fx_sw->xstate_size can be changed
> from user-space, so it is possible construct a sigreturn frame where:
>
> * fx_sw->xstate_size is smaller than the size required by valid bits in
> fx_sw->xfeatures.
> * user-space unmaps parts of the sigrame fpu buffer so that not all of
> the buffer required by xrstor is accessible.
>
> In this case, xrstor tries to restore and accesses the unmapped area
> which results in a fault. But fault_in_readable succeeds because buf +
> fx_sw->xstate_size is within the still mapped area, so it goes back and
> tries xrstor again. It will spin in this loop forever.
>
> Instead, fault in the maximum size which can be touched by XRSTOR (taken
> from fpstate->user_size).
>
> [ dhansen: tweak subject / changelog ]
> [ tglx: Backport to 5.15 stable ]
>
> Fixes: fcb3635f5018 ("x86/fpu/signal: Handle #PF in the direct restore path")
> Reported-by: Konstantin Bogomolov <bogomolov@google.com>
> Suggested-by: Thomas Gleixner <tglx@linutronix.de>
> Signed-off-by: Andrei Vagin <avagin@google.com>
> Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Link: https://lore.kernel.org/all/20240130063603.3392627-1-avagin%40google.com
> ---
> arch/x86/kernel/fpu/signal.c | 12 +++++-------
> 1 file changed, 5 insertions(+), 7 deletions(-)
Nit, you forgot to give me a hint what the git id was :(
I figured it out, now queued up, thanks.
greg k-h
next prev parent reply other threads:[~2024-02-23 16:04 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-19 18:24 FAILED: patch "[PATCH] x86/fpu: Stop relying on userspace for info to fault in xsave" failed to apply to 5.15-stable tree gregkh
2024-02-21 20:29 ` [PATCH linux-5.15.y] x86/fpu: Stop relying on userspace for info to fault in xsave Thomas Gleixner
2024-02-23 16:04 ` Greg KH [this message]
2024-02-25 18:54 ` Thomas Gleixner
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=2024022312-bulginess-contend-ac94@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=avagin@google.com \
--cc=bogomolov@google.com \
--cc=dave.hansen@linux.intel.com \
--cc=stable@vger.kernel.org \
--cc=tglx@linutronix.de \
/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.