Re: [PATCH 01/17] x86, fpu: wrap get_xsave_addr() to make it safer

Borislav Petkov
2015-05-05T17:28:20Z

On Sat, Apr 25, 2015 at 11:31:19AM +0200, Borislav Petkov wrote:
> On Wed, Apr 22, 2015 at 11:27:31AM -0700, Dave Hansen wrote:
> >
> > From: Dave Hansen <dave.hansen@linux.intel.com>
> >
> > Changes from "v19":
> > * remove 'tsk' argument to get_xsave_addr() since the code
> > can only realistically work on 'current', and fix up the
> > comment a bit to match.
> >
> > Changes from "v17":
> > * fix s/xstate/xsave_field/ in the function comment
> > * remove EXPORT_SYMBOL_GPL()
> >
> > ---
> > From: Dave Hansen <dave.hansen@linux.intel.com>
> >
> > The MPX code appears to be saving off the FPU in an unsafe
> > way. It does not disable preemption or ensure that the
> > FPU state has been allocated.
> >
> > This patch introduces a new helper which will do both of
> > those things internally.
> >
> > Note that this requires a patch from Oleg in order to work
> > properly. It is currently in tip/x86/fpu.
> >
> > > commit f893959b0898bd876673adbeb6798bdf25c034d7
> > > Author: Oleg Nesterov <oleg@redhat.com>
> > > Date: Fri Mar 13 18:30:30 2015 +0100
> > >
> > > x86/fpu: Don't abuse drop_init_fpu() in flush_thread()
> >
> > Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
> > Cc: Oleg Nesterov <oleg@redhat.com>
> > Cc: bp@alien8.de
> > Cc: Rik van Riel <riel@redhat.com>
> > Cc: Suresh Siddha <sbsiddha@gmail.com>
> > Cc: Andy Lutomirski <luto@amacapital.net>
> > Cc: Thomas Gleixner <tglx@linutronix.de>
> > Cc: Ingo Molnar <mingo@redhat.com>
> > Cc: "H. Peter Anvin" <hpa@zytor.com>
> > Cc: Fenghua Yu <fenghua.yu@intel.com>
> > Cc: the arch/x86 maintainers <x86@kernel.org>
> > ---
> >
> > b/arch/x86/include/asm/xsave.h | 1 +
> > b/arch/x86/kernel/xsave.c | 32 ++++++++++++++++++++++++++++++++
> > 2 files changed, 33 insertions(+)
>
> Applied, thanks.

Yeah, I said "Applied" but didn't know at the time Ingo was doing the
big FPU cleanup:

https://lkml.kernel.org/r/1430843228-13749-1-git-send-email-mingo@kernel.org

So let's wait until the dust settles, I think rediffing this patch
should be easy and simply made to call fpu__save() which is the new name
but we'll have to doublecheck.

Thanks.

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.
--