Commit 977e5138 authored by Dmitry Safonov's avatar Dmitry Safonov Committed by Andrei Vagin

vdso/ia32: Don't unmap rt-vdso

Found with fault-injected jump trampolines in vdso,
that on ia32 tests rt-vdso got unmapped.
I've fixed it previously, but have forgot it during
debugging vdso cleanup.

Fixes: commit 8544895a ("ia32/restorer: move 32-bit pie unmap to x86")
Signed-off-by: 's avatarDmitry Safonov <dsafonov@virtuozzo.com>
Signed-off-by: 's avatarAndrei Vagin <avagin@virtuozzo.com>
parent fc95ea4c
...@@ -6,6 +6,7 @@ ENTRY(__export_unmap_compat) ...@@ -6,6 +6,7 @@ ENTRY(__export_unmap_compat)
.code32 .code32
mov bootstrap_start, %ebx mov bootstrap_start, %ebx
mov bootstrap_len, %ecx mov bootstrap_len, %ecx
sub vdso_rt_size, %ecx
movl $__NR32_munmap, %eax movl $__NR32_munmap, %eax
int $0x80 int $0x80
int $0x03 /* Guard */ int $0x03 /* Guard */
......
...@@ -1009,7 +1009,7 @@ static void restore_posix_timers(struct task_restore_args *args) ...@@ -1009,7 +1009,7 @@ static void restore_posix_timers(struct task_restore_args *args)
* trap us on the exit from sys_munmap. * trap us on the exit from sys_munmap.
*/ */
#ifdef CONFIG_VDSO #ifdef CONFIG_VDSO
static unsigned long vdso_rt_size; unsigned long vdso_rt_size = 0;
#else #else
#define vdso_rt_size (0) #define vdso_rt_size (0)
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment