From 789c77c0ffbed95027a632746a1c986863efc19f Mon Sep 17 00:00:00 2001 From: Alexander van Heukelum Date: Fri, 21 Nov 2008 22:59:52 +0100 Subject: [PATCH] --- yaml --- r: 121013 b: refs/heads/master c: c81084114f6ff957bc6b5a0048350479c1c1f7b3 h: refs/heads/master i: 121011: 8617efd28e13fef18ba2a7669c9204f90cf310ac v: v3 --- [refs] | 2 +- trunk/arch/x86/kernel/entry_64.S | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index ee57f428b8e7..6c89e8eaad78 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b8b1d08bf6fe7c09e6cb2294bc0e5e964b361241 +refs/heads/master: c81084114f6ff957bc6b5a0048350479c1c1f7b3 diff --git a/trunk/arch/x86/kernel/entry_64.S b/trunk/arch/x86/kernel/entry_64.S index 692c1da61905..e5ddf573ded2 100644 --- a/trunk/arch/x86/kernel/entry_64.S +++ b/trunk/arch/x86/kernel/entry_64.S @@ -529,10 +529,13 @@ sysret_signal: jc sysret_audit #endif /* edx: work flags (arg3) */ - leaq do_notify_resume(%rip),%rax leaq -ARGOFFSET(%rsp),%rdi # &pt_regs -> arg1 xorl %esi,%esi # oldset -> arg2 - call ptregscall_common + SAVE_REST + FIXUP_TOP_OF_STACK %r11 + call do_notify_resume + RESTORE_TOP_OF_STACK %r11 + RESTORE_REST movl $_TIF_WORK_MASK,%edi /* Use IRET because user could have changed frame. This works because ptregscall_common has called FIXUP_TOP_OF_STACK. */