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 7609AC54E41 for ; Wed, 28 Feb 2024 09:39:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E5DF76B00A0; Wed, 28 Feb 2024 04:39:55 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E0DB66B00A2; Wed, 28 Feb 2024 04:39:55 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C87BD6B00A3; Wed, 28 Feb 2024 04:39:55 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id B72BA6B00A0 for ; Wed, 28 Feb 2024 04:39:55 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 8120640F03 for ; Wed, 28 Feb 2024 09:39:55 +0000 (UTC) X-FDA: 81840715950.24.E97CE3C Received: from mail-vk1-f172.google.com (mail-vk1-f172.google.com [209.85.221.172]) by imf30.hostedemail.com (Postfix) with ESMTP id E816980008 for ; Wed, 28 Feb 2024 09:39:53 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jEZy66Uv; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.221.172 as permitted sender) smtp.mailfrom=21cnbao@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709113193; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=YT+gCZjCYJ0eCqx/rUQ7NQHxfo7zFEEwzD3AarT1Iqw=; b=mWjbfbBb/CV3sxJPrllB1wKbYmtOWteCyVtjqD+bRNUW978ZONwRgJEzi2FHgjIr9PLYcI BSnk5UMvHwau4ChlMOba5iTy8lY2GstCSJ3CFFZjt3175a4+qk7p4m5yMVP9A2Z/8zqzwX aEFipQbappztHEwBZlZOhYo5VWYNvzI= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jEZy66Uv; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.221.172 as permitted sender) smtp.mailfrom=21cnbao@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1709113193; a=rsa-sha256; cv=none; b=USrGKezU0f3mxVwrvPBDNF0hmO2JvXf7hS66lvksHginASzPnhfemMdkBstqxx75Nuj+Me dkesu2/ruHOaF/Vo5XabhPJsfmBLl2dICXRMshIzlzfv/uVMXlpuNj8VYarjJ6d6ML+MZU KnOoOo6xaADvHqVCPKqY+z0GuDcAgKE= Received: by mail-vk1-f172.google.com with SMTP id 71dfb90a1353d-4d158faf527so946311e0c.0 for ; Wed, 28 Feb 2024 01:39:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709113193; x=1709717993; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=YT+gCZjCYJ0eCqx/rUQ7NQHxfo7zFEEwzD3AarT1Iqw=; b=jEZy66Uv1Rbx3VJ1e2t4B8V5MJD3MsmXUV8YTBIoCeHQ+vxYCGDjatSeJvlOC9qKks j8vK8I8oLwjG2QYJx4E3AXqrN/p4mCVr2VzghTeKll/7Q1KuPRGwrgFMDfWYnACT2ssg Dgaz7yL/XDyUd7UpFZ5Fvm1uA16hcSgVRE4BfQMO5smF+3UMOBY/MVLkkPTOub7L235V 3b2XlM8yjZK+U/EqF9F5n9hkxMFoyeOXPly9QcX57Hs9cq+ak0zTIRin+9e/rFhKoyrZ AEFzB/8C1iNEgG64nz4T1pZLBOlZOMxVf8hYNRhxC+zBe9gdTJ/rkgqIeM7UCEZ4qXi0 ptTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709113193; x=1709717993; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YT+gCZjCYJ0eCqx/rUQ7NQHxfo7zFEEwzD3AarT1Iqw=; b=CxIdfTl/wWRY8/3bYzIOgLFmf7lwaje9HoLtZBLHfQelHzrsu3BgjzrCZt8iDkjAQZ rx4Tkq4/CcfPL55S0WfQxN8eLCN8sxJoK6HM1+sRqISX0AzxMTnqrLPG608p2jdpClBT 1++1XzjLCwyDiCiB5MnUq78a6lMv9oN8QZpt12w221S7f43n1oAM1SCVAHkflTaWeiHH v02QKPQEZ+87It9e5mYiBwdrNqVvS3PpvPcPQVcKFJtvE55JlhTdeieeKBYsBnWUzP4m MG5iSJwSLdDxMdRXRBuI+5N7nxr1wOf9hCnWz3tMy/eDS5/lrxbKoR7hQjta4H6okr/3 ae2w== X-Forwarded-Encrypted: i=1; AJvYcCUkjk9b4BcW6W8Oiyo9CWlCvQYF5PtLF2VqDxZjt4mIrf4AX72TCKIFsbHVWHSYFc8zIO5HEZCo336bx30HJyYYmW4= X-Gm-Message-State: AOJu0Yx7whrAWMcP4Iwntv9Ww9MdXhyzLvKWW0d8YLG/PzQ2wnhG7J02 HBenqiniPyqSVZ1nffVxZ8Z1uqord+XPxbtdUwXt9CsFpmtxy1HArBqQlfB027NL+jwFdZ10+hv VT1q8j10216R3pH1vY0Y6vmCxE98= X-Google-Smtp-Source: AGHT+IG4ZInyB84wJIJElM/SMkz0qZ2Dt6f8YZr3AOZihAhv9lXBgJBFHfN0uJbaDOywvOHzBRHeb3G2gTruDfiZEJA= X-Received: by 2002:a1f:cdc5:0:b0:4c7:98d3:db76 with SMTP id d188-20020a1fcdc5000000b004c798d3db76mr8993374vkg.4.1709113192929; Wed, 28 Feb 2024 01:39:52 -0800 (PST) MIME-Version: 1.0 References: <84d7cd03-1cf8-401a-8edf-2524db0bd6d5@oppo.com> In-Reply-To: From: Barry Song <21cnbao@gmail.com> Date: Wed, 28 Feb 2024 22:39:41 +1300 Message-ID: Subject: Re: [PATCH] mm/vmalloc: Fix return value check for vb_alloc To: =?UTF-8?B?5YiY5rW36b6ZKExhb0xpdSk=?= Cc: "akpm@linux-foundation.org" , "urezki@gmail.com" , "hch@infradead.org" , "lstoakes@gmail.com" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: E816980008 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: h7wsyrfsditdhica4p6tspke83whsbh4 X-HE-Tag: 1709113193-815022 X-HE-Meta: U2FsdGVkX1/YDUha2Fje0pBtc5PylSbvv8lvoaVkJLWi2mz1Ok6zjWfWsLzG5SIqNx6vsZ4mBp3WWK8hPR22aJa/lsHt4DhH/IxpjMrWWN9rBlgLgyicA2dZlyTecTcZ83BhQByl42gV7BFamyD9kESl3f4W7S2wEYAcBmv/B2bwaYlmyc+s8DonsciBNOes/PWB7RHUBzuEWVHMSt9rpBTrY0WtYo+Fo4dAKW8twlHlIuJ2Kn1ap0JW4fz4L05kkcAYz7n37zx8/F+FvuLjhetvMhRD+tKcoCSnxT3DHQimzrYbJb7QhpWZmB0EYixZbtHh6Zqb9C0Gs9IN/Mj6uLZBZNeh2+nflssO/jRnOnpke1Q6wGhzg3EP9jGDuuUIMZs/Wh7JI9NBnbX4Meu4Rf/pMV0WRWZJjbAKstxyGxglB2DKBoxhm7vDFn0fkKMkH8/4fdKC2Vk8/M2o0kgxSq4Sd+lCGTy7SuJFaywp9T2ix58Bou3pJaBFKqi8+/kJYWSzuSOSCwR1W3fieMSc7bF7doNN3Ak0ABUl04vwZfX9CisimdnLnJoNWn57Nw+BA3o8MBPl0RYLRZpI8C7MzoHCsGGazAuHFhFH8RZchJELevkcfVxCNelDWtTRx/uLpwZTp3jozTluvbSzcrURsh98h1fVjVK5Ep8UYR1bUfLcKD5rx3EeQqLSqRt6k8a2n/r6tmgaligPKVcbD+Kp8g7evrUEGGsgHZpZ3df1m+7XrcQt+3UaaUp+UVklBS/WD2Dm5E4fPZkOV5uZOmKnrWYZjmYdJS3PpIPMnOF3LbeHjQo9J6lwgeV5Em49nN9Z1v/UAbM1RsZkObT3fflxEcth6gg9rBykUOPjemnjbvvwQ/h/nfIEpiVtErEYVkjIzYl7oyCnl7/E/t77nyrmvS2/vJqUBzYZs8hiudyUMRlHHzhSagJNV8tRi5QTcHSqFBawBFKdIDLHWB3DkX3 P29ciuPO zNKhM/mLVqmaK23y9x3H5Oiv12N/7hvd4jGUwFg4GopdT+h8gxweYYI0S6O5Z/GI2tzZ15WuY2jTxmkMuETgU0mfmThpHkKWW4iyu0o0fh/zh3xH7xGVMLi76SQ== 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: List-Subscribe: List-Unsubscribe: On Wed, Feb 28, 2024 at 10:34=E2=80=AFPM Barry Song <21cnbao@gmail.com> wro= te: > > On Wed, Feb 28, 2024 at 9:51=E2=80=AFPM =E5=88=98=E6=B5=B7=E9=BE=99(LaoLi= u) wrote: > > > > If vm_map_ram(page, 0, 0) would cause panic by vmap_pages_range_noflush= , so > > change IS_ERR to IS_ERR_OR_NULL to fix this. > > > > Signed-off-by: Hailong.Liu > > --- > > mm/vmalloc.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > > index d12a17fc0c17..109732006cf7 100644 > > --- a/mm/vmalloc.c > > +++ b/mm/vmalloc.c > > @@ -2387,7 +2387,7 @@ void *vm_map_ram(struct page **pages, unsigned in= t > > count, int node) > > > > if (likely(count <=3D VMAP_MAX_ALLOC)) { > > mem =3D vb_alloc(size, GFP_KERNEL); > > - if (IS_ERR(mem)) > > + if (IS_ERR_OR_NULL(mem)) > > it seems the only case for vb_alloc to return NULL is size =3D 0, isn't > it a bug of > caller? what about the below? diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 25a8df497255..640157221c95 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -2834,6 +2834,9 @@ void *vm_map_ram(struct page **pages, unsigned int count, int node) unsigned long addr; void *mem; + if (unlikely(count =3D=3D 0)) + return NULL; + if (likely(count <=3D VMAP_MAX_ALLOC)) { mem =3D vb_alloc(size, GFP_KERNEL); if (IS_ERR(mem)) > > > return NULL; > > addr =3D (unsigned long)mem; > > } else { > > -- > > 2.34.1 Thanks Barry