From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BA394C433EF for ; Wed, 16 Mar 2022 06:15:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1353825AbiCPGQX (ORCPT ); Wed, 16 Mar 2022 02:16:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46866 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237256AbiCPGQW (ORCPT ); Wed, 16 Mar 2022 02:16:22 -0400 Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 489643EF18; Tue, 15 Mar 2022 23:15:07 -0700 (PDT) Received: from dggpemm500023.china.huawei.com (unknown [172.30.72.53]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4KJKcv11V6z1GCNR; Wed, 16 Mar 2022 14:10:07 +0800 (CST) Received: from dggpemm500006.china.huawei.com (7.185.36.236) by dggpemm500023.china.huawei.com (7.185.36.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Wed, 16 Mar 2022 14:15:04 +0800 Received: from [10.174.178.55] (10.174.178.55) by dggpemm500006.china.huawei.com (7.185.36.236) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Wed, 16 Mar 2022 14:15:03 +0800 Subject: Re: [PATCH v21 1/5] kdump: return -ENOENT if required cmdline option does not exist To: Baoquan He CC: Thomas Gleixner , Ingo Molnar , Borislav Petkov , , "H . Peter Anvin" , , Dave Young , Vivek Goyal , Eric Biederman , , Catalin Marinas , Will Deacon , , Rob Herring , Frank Rowand , , "Jonathan Corbet" , , Randy Dunlap , Feng Zhou , Kefeng Wang , Chen Zhou , "John Donnelly" , Dave Kleikamp References: <20220227030717.1464-1-thunder.leizhen@huawei.com> <20220227030717.1464-2-thunder.leizhen@huawei.com> From: "Leizhen (ThunderTown)" Message-ID: <06dce01e-3587-11c8-3bc1-fa8cf7359176@huawei.com> Date: Wed, 16 Mar 2022 14:15:03 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.174.178.55] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To dggpemm500006.china.huawei.com (7.185.36.236) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org On 2022/3/16 13:39, 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. > > This log is a little confusing. __parse_crashkernel() has three callers. > - parse_crashkernel() > - parse_crashkernel_high() > - parse_crashkernel_low() > > How about tuning the git log as below: Sure. Your description is much clearer than mine. > > ================== > 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 >> --- >> kernel/crash_core.c | 3 +-- >> 1 file changed, 1 insertion(+), 2 deletions(-) >> >> >> Signed-off-by: Zhen Lei >> --- >> 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; >> >> ck_cmdline += strlen(name); >> >> -- >> 2.25.1 >> > > . > -- Regards, Zhen Lei