Commit 14b46ba9 authored by Thomas Bogendoerfer's avatar Thomas Bogendoerfer
Browse files

MIPS: kernel: Fix random segmentation faults



Commit 69896119 ("MIPS: vdso: Switch to generic storage
implementation") switches to a generic vdso storage, which increases
the number of data pages from 1 to 4. But there is only one page
reserved, which causes segementation faults depending where the VDSO
area is randomized to. To fix this use the same size of reservation
and allocation of the VDSO data pages.

Fixes: 69896119 ("MIPS: vdso: Switch to generic storage implementation")
Reviewed-by: default avatarThomas Weißschuh <thomas.weissschuh@linutronix.de>
Reviewed-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
parent 9f048fa4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -692,7 +692,7 @@ unsigned long mips_stack_top(void)
	/* Space for the VDSO, data page & GIC user page */
	if (current->thread.abi) {
		top -= PAGE_ALIGN(current->thread.abi->vdso->size);
		top -= PAGE_SIZE;
		top -= VDSO_NR_PAGES * PAGE_SIZE;
		top -= mips_gic_present() ? PAGE_SIZE : 0;

		/* Space to randomize the VDSO base */