orderly_poweroff is trying to poweroff platform by two steps: step 1: Call userspace application to poweroff step 2: If userspace poweroff fail, then do a force power off if force param is set.
The bug here is, step 1 is always successful with param UMH_NO_WAIT, should change to UMH_WAIT_EXEC which will monitor whether user application successful run. Change-Id: I2f9ebbb90c0c2443780080ec9507c8d004e5da74 Signed-off-by: Feng Hong <hongf...@marvell.com> Acked-by: Kees Cook <keesc...@chromium.org> --- kernel/sys.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/kernel/sys.c b/kernel/sys.c index 241507f..a624d4c 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -2204,7 +2204,7 @@ static int __orderly_poweroff(void) return -ENOMEM; } - ret = call_usermodehelper_fns(argv[0], argv, envp, UMH_NO_WAIT, + ret = call_usermodehelper_fns(argv[0], argv, envp, UMH_WAIT_EXEC, NULL, argv_cleanup, NULL); if (ret == -ENOMEM) argv_free(argv); -- 1.7.0.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/