On 2022/3/15 20:21, Baoquan He wrote: > On 03/15/22 at 07:57pm, Baoquan He wrote: >> On 02/27/22 at 11:07am, Zhen Lei wrote: >>> The crashkernel=Y,low is an optional command-line option. When it doesn't >>> exist, kernel will try to allocate minimum required memory below 4G >>> automatically. Give it a unique error code to distinguish it from other >>> error scenarios. >>> >>> Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> >>> --- >>> kernel/crash_core.c | 3 +-- >>> 1 file changed, 1 insertion(+), 2 deletions(-) >>> >>> diff --git a/kernel/crash_core.c b/kernel/crash_core.c >>> index 256cf6db573cd09..4d57c03714f4e13 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; >> >> Firstly, I am not sure if '-ENOENT' is a right value to return. From the >> code comment of ENOENT, it's used for file or dir? >> #define ENOENT 2 /* No such file or directory */ This error code does not return to user mode, so there is no problem. There are a lot of places in the kernel that are used this way. For example: int stop_one_cpu(unsigned int cpu, cpu_stop_fn_t fn, void *arg) { if (!cpu_stop_queue_work(cpu, &work)) return -ENOENT; >> >> Secondly, we ever discussed the case including >> - no crashkernel=,low is provided; >> - messy code is provied, e.g crashkernel=aaaaaabbbb,low > > Checking the 3rd pach, this is handled. Take back my below words, > continue reviewing. Yes. > >> >> The 2nd one is not handled in this patchset. How about taking the >> handling into another round of patches. This patchset just adds >> crashkernel=,high purely. >> >>> >>> ck_cmdline += strlen(name); >>> >>> -- >>> 2.25.1 >>> >> > > . > -- Regards, Zhen Lei