Преглед на файлове

um: Ensure that a stub page cannot get unmapped

Trinity discovered an execution path such that a task
can unmap his stub page.

Reported-by: Toralf Förster <toralf.foerster@gmx.de>
Signed-off-by: Richard Weinberger <richard@nod.at>
Richard Weinberger преди 11 години
родител
ревизия
284e6d3951
променени са 1 файла, в които са добавени 3 реда и са изтрити 0 реда
  1. 3 0
      arch/um/kernel/tlb.c

+ 3 - 0
arch/um/kernel/tlb.c

@@ -124,6 +124,9 @@ static int add_munmap(unsigned long addr, unsigned long len,
 	struct host_vm_op *last;
 	struct host_vm_op *last;
 	int ret = 0;
 	int ret = 0;
 
 
+	if ((addr >= STUB_START) && (addr < STUB_END))
+		return -EINVAL;
+
 	if (hvc->index != 0) {
 	if (hvc->index != 0) {
 		last = &hvc->ops[hvc->index - 1];
 		last = &hvc->ops[hvc->index - 1];
 		if ((last->type == MUNMAP) &&
 		if ((last->type == MUNMAP) &&