* [PATCH REPOST] kexec: return error of machine_kexec() fails
@ 2013-07-09 16:16 Stephen Warren
2013-07-10 1:14 ` Zhang Yanfei
0 siblings, 1 reply; 2+ messages in thread
From: Stephen Warren @ 2013-07-09 16:16 UTC (permalink / raw)
To: Eric Biederman; +Cc: Stephen Warren, kexec, linux-kernel
From: Stephen Warren <swarren@nvidia.com>
Prior to commit 3ab8352 "kexec jump", if machine_kexec() returned,
sys_reboot() would return -EINVAL. This patch restores this behaviour
for the non-KEXEC_JUMP case, where machine_kexec() is not expected to
return.
This situation can occur on ARM, where kexec requires disabling all but
one CPU using CPU hotplug. However, if hotplug isn't supported by the
particular HW the kernel is running on, then kexec cannot succeed.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Will Deacon <will.deacon@arm.com>
---
kernel/kexec.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/kexec.c b/kernel/kexec.c
index 59f7b55..bde1190 100644
--- a/kernel/kexec.c
+++ b/kernel/kexec.c
@@ -1702,6 +1702,8 @@ int kernel_kexec(void)
pm_restore_console();
unlock_system_sleep();
}
+#else
+ error = -EINVAL;
#endif
Unlock:
--
1.8.1.5
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH REPOST] kexec: return error of machine_kexec() fails
2013-07-09 16:16 [PATCH REPOST] kexec: return error of machine_kexec() fails Stephen Warren
@ 2013-07-10 1:14 ` Zhang Yanfei
0 siblings, 0 replies; 2+ messages in thread
From: Zhang Yanfei @ 2013-07-10 1:14 UTC (permalink / raw)
To: Stephen Warren; +Cc: Stephen Warren, kexec, Eric Biederman, linux-kernel
于 2013/7/10 0:16, Stephen Warren 写道:
> From: Stephen Warren <swarren@nvidia.com>
>
> Prior to commit 3ab8352 "kexec jump", if machine_kexec() returned,
> sys_reboot() would return -EINVAL. This patch restores this behaviour
> for the non-KEXEC_JUMP case, where machine_kexec() is not expected to
> return.
>
> This situation can occur on ARM, where kexec requires disabling all but
> one CPU using CPU hotplug. However, if hotplug isn't supported by the
> particular HW the kernel is running on, then kexec cannot succeed.
I don't have an ARM machine, but I believe you are right by reading the
code. So
Acked-by: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
>
> Signed-off-by: Stephen Warren <swarren@nvidia.com>
> Acked-by: Will Deacon <will.deacon@arm.com>
> ---
> kernel/kexec.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/kexec.c b/kernel/kexec.c
> index 59f7b55..bde1190 100644
> --- a/kernel/kexec.c
> +++ b/kernel/kexec.c
> @@ -1702,6 +1702,8 @@ int kernel_kexec(void)
> pm_restore_console();
> unlock_system_sleep();
> }
> +#else
> + error = -EINVAL;
> #endif
>
> Unlock:
>
--
Thanks.
Zhang Yanfei
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-07-10 1:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-09 16:16 [PATCH REPOST] kexec: return error of machine_kexec() fails Stephen Warren
2013-07-10 1:14 ` Zhang Yanfei
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox