]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
kexec, x86: Fix incorrect jump back address if not preserving context
authorHuang Ying <ying.huang@intel.com>
Thu, 14 Jul 2011 01:34:37 +0000 (09:34 +0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 8 Aug 2011 17:35:58 +0000 (10:35 -0700)
commitff8891a7853c091791b4a006850ae07d9b55c7cb
tree7d1251b22d5bae5bdca99ca10c0426e8b1489c1b
parentaf5450788196765db7a1a19c6b41524b5a7019d8
kexec, x86: Fix incorrect jump back address if not preserving context

commit 050438ed5a05b25cdf287f5691e56a58c2606997 upstream.

In kexec jump support, jump back address passed to the kexeced
kernel via function calling ABI, that is, the function call
return address is the jump back entry.

Furthermore, jump back entry == 0 should be used to signal that
the jump back or preserve context is not enabled in the original
kernel.

But in the current implementation the stack position used for
function call return address is not cleared context
preservation is disabled. The patch fixes this bug.

Reported-and-tested-by: Yin Kangkai <kangkai.yin@intel.com>
Signed-off-by: Huang Ying <ying.huang@intel.com>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Link: http://lkml.kernel.org/r/1310607277-25029-1-git-send-email-ying.huang@intel.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86/kernel/relocate_kernel_32.S
arch/x86/kernel/relocate_kernel_64.S