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

From: Borislav Petkov
Date: Sat Apr 25 2015 - 05:31:38 EST


On Wed, Apr 22, 2015 at 11:27:31AM -0700, Dave Hansen wrote:
>
> From: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
>
> 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@xxxxxxxxxxxxxxx>
>
> 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@xxxxxxxxxx>
> > 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@xxxxxxxxxxxxxxx>
> Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
> Cc: bp@xxxxxxxxx
> Cc: Rik van Riel <riel@xxxxxxxxxx>
> Cc: Suresh Siddha <sbsiddha@xxxxxxxxx>
> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx>
> Cc: the arch/x86 maintainers <x86@xxxxxxxxxx>
> ---
>
> b/arch/x86/include/asm/xsave.h | 1 +
> b/arch/x86/kernel/xsave.c | 32 ++++++++++++++++++++++++++++++++
> 2 files changed, 33 insertions(+)

Applied, thanks.

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/