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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 09495C433FE for ; Wed, 13 Apr 2022 08:45:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 86EA56B0072; Wed, 13 Apr 2022 04:45:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7F6C96B0073; Wed, 13 Apr 2022 04:45:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6970A6B0074; Wed, 13 Apr 2022 04:45:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0074.hostedemail.com [216.40.44.74]) by kanga.kvack.org (Postfix) with ESMTP id 563066B0072 for ; Wed, 13 Apr 2022 04:45:38 -0400 (EDT) Received: from smtpin27.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 1069B1839A30E for ; Wed, 13 Apr 2022 08:45:38 +0000 (UTC) X-FDA: 79351222356.27.AF87123 Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by imf31.hostedemail.com (Postfix) with ESMTP id E194520009 for ; Wed, 13 Apr 2022 08:45:36 +0000 (UTC) Received: from dggpemm500020.china.huawei.com (unknown [172.30.72.54]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4KdbhX6y4vzFpqt; Wed, 13 Apr 2022 16:43:08 +0800 (CST) Received: from dggpemm500001.china.huawei.com (7.185.36.107) by dggpemm500020.china.huawei.com (7.185.36.49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 13 Apr 2022 16:45:31 +0800 Received: from [10.174.177.243] (10.174.177.243) by dggpemm500001.china.huawei.com (7.185.36.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2375.24; Wed, 13 Apr 2022 16:45:30 +0800 Message-ID: Date: Wed, 13 Apr 2022 16:45:30 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.5.1 Subject: Re: [PATCH v3 3/4] hugetlb: Fix return value of __setup handlers Content-Language: en-US To: Muchun Song , "liupeng (DM)" CC: , , , , , , , References: <20220413032915.251254-1-liupeng256@huawei.com> <20220413032915.251254-4-liupeng256@huawei.com> <5bbf45e7-1d92-f543-5cfc-bc0141999d46@huawei.com> From: Kefeng Wang In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed X-Originating-IP: [10.174.177.243] X-ClientProxiedBy: dggeme701-chm.china.huawei.com (10.1.199.97) To dggpemm500001.china.huawei.com (7.185.36.107) X-CFilter-Loop: Reflected X-Stat-Signature: gaoy1h3rwaejmtjrytt1t8m1h7kqdyxs X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: E194520009 Authentication-Results: imf31.hostedemail.com; dkim=none; spf=pass (imf31.hostedemail.com: domain of wangkefeng.wang@huawei.com designates 45.249.212.188 as permitted sender) smtp.mailfrom=wangkefeng.wang@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com X-Rspam-User: X-HE-Tag: 1649839536-673531 Content-Transfer-Encoding: quoted-printable X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 2022/4/13 16:21, Muchun Song wrote: > On Wed, Apr 13, 2022 at 04:16:11PM +0800, liupeng (DM) wrote: >> On 2022/4/13 15:55, Muchun Song wrote: >>> On Wed, Apr 13, 2022 at 03:29:14AM +0000, Peng Liu wrote: >>>> When __setup() return '0', using invalid option values causes the >>>> entire kernel boot option string to be reported as Unknown. Hugetlb >>>> calls __setup() and will return '0' when set invalid parameter >>>> string. >>>> >>>> The following phenomenon is observed: >>>> cmdline: >>>> hugepagesz=3D1Y hugepages=3D1 >>>> dmesg: >>>> HugeTLB: unsupported hugepagesz=3D1Y >>>> HugeTLB: hugepages=3D1 does not follow a valid hugepagesz, ignor= ing >>>> Unknown kernel command line parameters "hugepagesz=3D1Y hugepage= s=3D1" >>>> >>>> Since hugetlb will print warning/error information before return for >>>> invalid parameter string, just use return '1' to avoid print again. >>>> >>> Can't return -EINVAL? It is weird to return 1 on failure. >>> >>> Thanks. >>> >>> . >> Not against "return -EINVAL", but consistent with: >> 1d02b444b8d1 ("tracing: Fix return value of __setup handlers") > I think it is better not return 1. I don't think it's a good habit we > should follow. /* =C2=A0* NOTE: __setup functions return values: =C2=A0* @fn returns 1 (or non-zero) if the option argument is "handled" =C2=A0* and returns 0 if the option argument is "not handled". =C2=A0*/ #define __setup(str, fn)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \ =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __setup_param(str, fn, fn, 0) 1 or -EINVAL should ok, and=C2=A0 most __setup return 1 for know ;) > Thanks. > > Thanks. > > .