strncmp(str, const, len) is error-prone because len is easy to have typo. The example is the hard-coded len has counting error or sizeof(const) forgets - 1. So we prefer using newly introduced str_has_prefix() to substitute such strncmp to make code better.
Signed-off-by: Chuhong Yuan <[email protected]> --- Changes in v4: - Eliminate assignments in if conditions. kernel/reboot.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/kernel/reboot.c b/kernel/reboot.c index c4d472b7f1b4..c79aaac43785 100644 --- a/kernel/reboot.c +++ b/kernel/reboot.c @@ -520,6 +520,8 @@ EXPORT_SYMBOL_GPL(orderly_reboot); static int __init reboot_setup(char *str) { + size_t len; + for (;;) { enum reboot_mode *mode; @@ -530,9 +532,10 @@ static int __init reboot_setup(char *str) */ reboot_default = 0; - if (!strncmp(str, "panic_", 6)) { + len = str_has_prefix(str, "panic_"); + if (len) { mode = &panic_reboot_mode; - str += 6; + str += len; } else { mode = &reboot_mode; } -- 2.20.1

