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 X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C2F0CC433EF for ; Thu, 23 Sep 2021 01:56:33 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 4D62C6008E for ; Thu, 23 Sep 2021 01:56:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 4D62C6008E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=huawei.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 84D6E6B006C; Wed, 22 Sep 2021 21:56:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7FA346B0071; Wed, 22 Sep 2021 21:56:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6E8AC6B0072; Wed, 22 Sep 2021 21:56:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0045.hostedemail.com [216.40.44.45]) by kanga.kvack.org (Postfix) with ESMTP id 5BABC6B006C for ; Wed, 22 Sep 2021 21:56:32 -0400 (EDT) Received: from smtpin01.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 1C9A8182751CE for ; Thu, 23 Sep 2021 01:56:32 +0000 (UTC) X-FDA: 78617173824.01.0379C18 Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by imf12.hostedemail.com (Postfix) with ESMTP id 268E610000AC for ; Thu, 23 Sep 2021 01:56:31 +0000 (UTC) Received: from dggeml756-chm.china.huawei.com (unknown [172.30.72.53]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4HFJ7f6ztmzRGkY; Thu, 23 Sep 2021 09:52:14 +0800 (CST) Received: from dggpemm500006.china.huawei.com (7.185.36.236) by dggeml756-chm.china.huawei.com (10.1.199.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.8; Thu, 23 Sep 2021 09:56:27 +0800 Received: from dggpemm500006.china.huawei.com ([7.185.36.236]) by dggpemm500006.china.huawei.com ([7.185.36.236]) with mapi id 15.01.2308.008; Thu, 23 Sep 2021 09:56:27 +0800 From: "chenjun (AM)" To: Feng Tang CC: "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "akpm@linux-foundation.org" , "mhocko@suse.com" , "Xiangrui (Euler)" Subject: Re: [PATCH v2 1/1] mm: Fix the uninitialized use in overcommit_policy_handler Thread-Topic: [PATCH v2 1/1] mm: Fix the uninitialized use in overcommit_policy_handler Thread-Index: AQHXr8dSCEMgjTNiAE6yPyR3F7TvHA== Date: Thu, 23 Sep 2021 01:56:27 +0000 Message-ID: <6776dd3a8d9e4618b36110604d1e58dd@huawei.com> References: <20210922014122.47219-1-chenjun102@huawei.com> <20210922153425.GB68763@shbuild999.sh.intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.174.178.43] Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-CFilter-Loop: Reflected X-Stat-Signature: st7bci1zsmtmua3wscp58hg3nqachfqh Authentication-Results: imf12.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=huawei.com; spf=pass (imf12.hostedemail.com: domain of chenjun102@huawei.com designates 45.249.212.188 as permitted sender) smtp.mailfrom=chenjun102@huawei.com X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 268E610000AC X-HE-Tag: 1632362191-820441 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: Hi Tang,=0A= =0A= =1B$B:_=1B(B 2021/9/22 23:34, Feng Tang =1B$B Hi Jun,=0A= > =0A= > On Wed, Sep 22, 2021 at 01:41:22AM +0000, Chen Jun wrote:=0A= >> An unexpected value of /proc/sys/vm/panic_on_oom we will get,=0A= >> after running the following program.=0A= >>=0A= >> int main()=0A= >> {=0A= >> int fd =3D open("/proc/sys/vm/panic_on_oom", O_RDWR)=0A= > =0A= > should this be "/proc/sys/vm/overcommit_memory"=0A= > =0A= =0A= Sorry, that is my mistake, I will correct it in v3. Thanks.=0A= =0A= >> write(fd, "1", 1);=0A= >> write(fd, "2", 1);=0A= >> close(fd);=0A= >> }=0A= >>=0A= >> write(fd, "2", 1) will pass *ppos =3D 1 to proc_dointvec_minmax.=0A= >> proc_dointvec_minmax will return 0 without setting new_policy.=0A= >>=0A= >> t.data =3D &new_policy;=0A= >> ret =3D proc_dointvec_minmax(&t, write, buffer, lenp, ppos)=0A= >> -->do_proc_dointvec=0A= >> -->__do_proc_dointvec=0A= >> if (write) {=0A= >> if (proc_first_pos_non_zero_ignore(ppos, table))=0A= >> goto out;=0A= >>=0A= >> sysctl_overcommit_memory =3D new_policy;=0A= >>=0A= >> so sysctl_overcommit_memory will be set to an uninitialized value.=0A= >>=0A= >> Check whether new_policy has been changed by proc_dointvec_minmax.=0A= > =0A= > Other than the nit above, it looks good to me, thanks!=0A= > =0A= > Reviewed-by: Feng Tang =0A= > =0A= >> Fixes: 56f3547bfa4d ("mm: adjust vm_committed_as_batch according to vm o= vercommit policy"=0A= >> Signed-off-by: Chen Jun =0A= >> ---=0A= >>=0A= >> v2:=0A= >> * Check whether new_policy has been changed by proc_dointvec_minmax.= =0A= >>=0A= >> mm/util.c | 4 ++--=0A= >> 1 file changed, 2 insertions(+), 2 deletions(-)=0A= >>=0A= >> diff --git a/mm/util.c b/mm/util.c=0A= >> index 4ddb6e186dd5..d5be67771850 100644=0A= >> --- a/mm/util.c=0A= >> +++ b/mm/util.c=0A= >> @@ -756,7 +756,7 @@ int overcommit_policy_handler(struct ctl_table *tabl= e, int write, void *buffer,=0A= >> size_t *lenp, loff_t *ppos)=0A= >> {=0A= >> struct ctl_table t;=0A= >> - int new_policy;=0A= >> + int new_policy =3D -1;=0A= >> int ret;=0A= >> =0A= >> /*=0A= >> @@ -774,7 +774,7 @@ int overcommit_policy_handler(struct ctl_table *tabl= e, int write, void *buffer,=0A= >> t =3D *table;=0A= >> t.data =3D &new_policy;=0A= >> ret =3D proc_dointvec_minmax(&t, write, buffer, lenp, ppos);=0A= >> - if (ret)=0A= >> + if (ret || new_policy =3D=3D -1)=0A= >> return ret;=0A= >> =0A= >> mm_compute_batch(new_policy);=0A= >> -- =0A= >> 2.17.1=0A= >>=0A= > =0A= =0A= =0A= -- =0A= Regards=0A= Chen Jun=0A=