diff options
Diffstat (limited to 'arch/um/kernel/exec.c')
| -rw-r--r-- | arch/um/kernel/exec.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/um/kernel/exec.c b/arch/um/kernel/exec.c index bf66b5b7bc68..76a62c0cb2bc 100644 --- a/arch/um/kernel/exec.c +++ b/arch/um/kernel/exec.c | |||
| @@ -19,12 +19,13 @@ | |||
| 19 | void flush_thread(void) | 19 | void flush_thread(void) |
| 20 | { | 20 | { |
| 21 | void *data = NULL; | 21 | void *data = NULL; |
| 22 | unsigned long end = proc_mm ? TASK_SIZE : STUB_START; | ||
| 23 | int ret; | 22 | int ret; |
| 24 | 23 | ||
| 25 | arch_flush_thread(¤t->thread.arch); | 24 | arch_flush_thread(¤t->thread.arch); |
| 26 | 25 | ||
| 27 | ret = unmap(¤t->mm->context.id, 0, end, 1, &data); | 26 | ret = unmap(¤t->mm->context.id, 0, STUB_START, 0, &data); |
| 27 | ret = ret || unmap(¤t->mm->context.id, STUB_END, | ||
| 28 | TASK_SIZE - STUB_END, 1, &data); | ||
| 28 | if (ret) { | 29 | if (ret) { |
| 29 | printk(KERN_ERR "flush_thread - clearing address space failed, " | 30 | printk(KERN_ERR "flush_thread - clearing address space failed, " |
| 30 | "err = %d\n", ret); | 31 | "err = %d\n", ret); |
