summaryrefslogtreecommitdiffstats
path: root/kernel/crash_core.c
diff options
context:
space:
mode:
authorZhen Lei <thunder.leizhen@huawei.com>2022-05-06 19:43:57 +0800
committerCatalin Marinas <catalin.marinas@arm.com>2022-05-07 19:54:33 +0100
commit2e5920bb073a4e3e69cf8e581836cafc8ba1b464 (patch)
tree703c1312ca48a5031c92b7b8765d297f9f7fe531 /kernel/crash_core.c
parentb2d229d4ddb17db541098b83524d901257e93845 (diff)
downloadlinux-2e5920bb073a4e3e69cf8e581836cafc8ba1b464.tar.bz2
kdump: return -ENOENT if required cmdline option does not exist
According to the current crashkernel=Y,low support in other ARCHes, it's an optional command-line option. When it doesn't exist, kernel will try to allocate minimum required memory below 4G automatically. However, __parse_crashkernel() returns '-EINVAL' for all error cases. It can't distinguish the nonexistent option from invalid option. Change __parse_crashkernel() to return '-ENOENT' for the nonexistent option case. With this change, crashkernel,low memory will take the default value if crashkernel=,low is not specified; while crashkernel reservation will fail and bail out if an invalid option is specified. Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> Acked-by: Baoquan He <bhe@redhat.com> Link: https://lore.kernel.org/r/20220506114402.365-2-thunder.leizhen@huawei.com Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'kernel/crash_core.c')
-rw-r--r--kernel/crash_core.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/kernel/crash_core.c b/kernel/crash_core.c
index 256cf6db573c..4d57c03714f4 100644
--- a/kernel/crash_core.c
+++ b/kernel/crash_core.c
@@ -243,9 +243,8 @@ static int __init __parse_crashkernel(char *cmdline,
*crash_base = 0;
ck_cmdline = get_last_crashkernel(cmdline, name, suffix);
-
if (!ck_cmdline)
- return -EINVAL;
+ return -ENOENT;
ck_cmdline += strlen(name);