Re: [patch V163 03/51] x86/vsyscall/64: Warn and fail vsyscall emulation in NATIVE mode

From: Borislav Petkov
Date: Mon Dec 18 2017 - 09:45:00 EST


On Mon, Dec 18, 2017 at 12:42:18PM +0100, Thomas Gleixner wrote:
> From: Andy Lutomirski <luto@xxxxxxxxxx>
>
> If something goes wrong with pagetable setup, vsyscall=native will
> accidentally fall back to emulation. Make it warn and fail so that we
> notice.
>
> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Borislav Petkov <bp@xxxxxxxxx>
> Cc: Brian Gerst <brgerst@xxxxxxxxx>
> Cc: David Laight <David.Laight@xxxxxxxxxx>
> Cc: Kees Cook <keescook@xxxxxxxxxxxx>
> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> ---
> arch/x86/entry/vsyscall/vsyscall_64.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> --- a/arch/x86/entry/vsyscall/vsyscall_64.c
> +++ b/arch/x86/entry/vsyscall/vsyscall_64.c
> @@ -138,6 +138,10 @@ bool emulate_vsyscall(struct pt_regs *re
>
> WARN_ON_ONCE(address != regs->ip);
>
> + /* This should be unreachable in NATIVE mode. */
> + if (WARN_ON(vsyscall_mode == NATIVE))
> + return false;

There's this nice warn_bad_vsyscall() thing. Why not use that?

--
Regards/Gruss,
Boris.

SUSE Linux GmbH, GF: Felix ImendÃrffer, Jane Smithard, Graham Norton, HRB 21284 (AG NÃrnberg)
--