lguest: Map switcher text R/O
authorRusty Russell <rusty@rustcorp.com.au>
Tue, 22 Dec 2015 00:09:54 +0000 (10:39 +1030)
committerIngo Molnar <mingo@kernel.org>
Tue, 12 Jan 2016 11:17:28 +0000 (12:17 +0100)
commite27d90e8be08d96b5e047cd01daf7e62c4fcab78
treee5c6839715f611e51d82a90716f38adee52389f7
parentaa0421410fc540832f0fd267ff0f2657c3276053
lguest: Map switcher text R/O

Pavel noted that lguest maps the switcher code executable and
read-write.  This is a bad idea for any kernel text, but
particularly for text mapped at a fixed address.

Create two vmas, one for the text (PAGE_KERNEL_RX) and another
for the stacks (PAGE_KERNEL).  Use VM_NO_GUARD to map them
adjacent (as expected by the rest of the code).

Reported-by: Pavel Machek <pavel@ucw.cz>
Tested-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/include/asm/lguest.h
drivers/lguest/core.c