On Mon, Dec 18, 2017 at 12:42:18PM +0100, Thomas Gleixner wrote:
> From: Andy Lutomirski <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Ingo Molnar <[email protected]>
> Signed-off-by: Thomas Gleixner <[email protected]>
> Cc: Borislav Petkov <[email protected]>
> Cc: Brian Gerst <[email protected]>
> Cc: David Laight <[email protected]>
> Cc: Kees Cook <[email protected]>
> Cc: Linus Torvalds <[email protected]>
> Cc: Peter Zijlstra <[email protected]>
> ---
> 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)
--