]> git.baikalelectronics.ru Git - kernel.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)
committerIngo Molnar <mingo@elte.hu>
Thu, 21 Jul 2011 09:19:28 +0000 (11:19 +0200)
commit89e9d2af7a2bdf0f95e9f6a5a312b700c3050717
tree318f9566ba9b060dc61459f12a8fd4f5d9e8c4e4
parentf4c3102df5a7d71291cc923bca7d49155e4b686a
kexec, x86: Fix incorrect jump back address if not preserving context

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>
Cc: <stable@kernel.org>
Link: http://lkml.kernel.org/r/1310607277-25029-1-git-send-email-ying.huang@intel.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/relocate_kernel_32.S
arch/x86/kernel/relocate_kernel_64.S