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 05275D43352 for ; Thu, 7 Nov 2024 13:09:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4E20A6B0085; Thu, 7 Nov 2024 08:09:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4922C6B0088; Thu, 7 Nov 2024 08:09:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3324A6B008A; Thu, 7 Nov 2024 08:09:21 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 1A46C6B0085 for ; Thu, 7 Nov 2024 08:09:21 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 725871A0719 for ; Thu, 7 Nov 2024 13:09:20 +0000 (UTC) X-FDA: 82759329744.28.F493D83 Received: from mail-ej1-f68.google.com (mail-ej1-f68.google.com [209.85.218.68]) by imf25.hostedemail.com (Postfix) with ESMTP id E80CCA000B for ; Thu, 7 Nov 2024 13:08:52 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=h4Hu4sq+; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf25.hostedemail.com: domain of chenqiuji666@gmail.com designates 209.85.218.68 as permitted sender) smtp.mailfrom=chenqiuji666@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1730984874; 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=K/6wp4Vr/2hV/oyu+TDytxISxtShsM2Q5KzogwygMg8=; b=c5m1Jlz4lzkVcMLz02OiNQGwE0PyvGc31m7q8c2rOkE2tM51jXJnIGTqZ1V884EN6AgszT dUVUOySW/SIs2VXzB4PHUaBMqXertt0lGe8hJSDcv9wGMFlc38zmJt7xSzwDyvNjD1QX1p 3uAF2C61UH0htGVZ8IItkxVHvH50BwQ= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=h4Hu4sq+; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf25.hostedemail.com: domain of chenqiuji666@gmail.com designates 209.85.218.68 as permitted sender) smtp.mailfrom=chenqiuji666@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1730984874; a=rsa-sha256; cv=none; b=ABB6U2u4kf5BPkasN/3DqSzVhNIHmTUUgBYJpCrwsPK47g/UVqlDW0bioS2wVeGnSnRxqJ P5iskWSd5jgYcHXXq85nVmwnWCSnwpzBZJ7abX071VZ1FZUvsohSMr2+1GQDQXm38Pld/4 17VfGQ2BlkP2NeFmLvAUMXtKe9zOxaU= Received: by mail-ej1-f68.google.com with SMTP id a640c23a62f3a-a9acafdb745so203789766b.0 for ; Thu, 07 Nov 2024 05:09:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730984957; x=1731589757; 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=K/6wp4Vr/2hV/oyu+TDytxISxtShsM2Q5KzogwygMg8=; b=h4Hu4sq+8e9W5yDtnG8mZjuHd6qTz/nnVpuRe3ZFts83hhgs7g4v3Uu9bl8i63exeu s9JN79Vlt6xTi8jnUTwBw+Z+yhjAxTyaMzUPsLSuLn/lpryUTceNkm2RflKIPuFCTlWI Ijkd3Z1YgY1vSTsmUuT33mZKXIqcWoV9nZpAp45NlMeMkcjH93ak6bXL10Gxf3eZbEob z9fLWOvuwAi458BvsFHH1Xdkv4DwV8+IxlEWUbNAQMOy+swkrF3yYpw9/1pzsycvdTkk cU+kndRlvfR3JOANjriBFwSpTNmdxNyez8nRS33walJj33DIaxZgh2I6mAbcBVKfSqe6 vPTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730984957; x=1731589757; 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=K/6wp4Vr/2hV/oyu+TDytxISxtShsM2Q5KzogwygMg8=; b=N0J6UkyOiJgOYZr1yKMlufmJStK5E7DBEY7swuVcKF/3zfiZSnD2jumLEM2lY3OayE OZnbZEtUYPLTUfRkjCBfj4PvEyshLJiK2yKhO1mehIDQxfKkpcFRFnL9i815flMbx3Mw TfDTB8fFALPwle051eh8/8WYEI/iSuUX7H03oDGDaDosWZyM8zxXDM2SCN5HD+vV0wqS F+ldyTeEQHRfngUPQTKlEUHg4rhY47Lvi1Rx71zqRxgYAlOwqNBgLRyRrRYGPYsjECWF Dogn3mLGj0EpI8VD8krJY++aHCASHzQXFjl8D3eSoThmQDjYo3fJWJBN3PeWgB29w153 2ycw== X-Forwarded-Encrypted: i=1; AJvYcCXtYaZjNM/HyrClgs4bL+edSXhDTwo9X3L1NoQnwm09n29i+0lbZ/CI99LJ37oi5zMb1nYNE2tjnQ==@kvack.org X-Gm-Message-State: AOJu0Yw2ryP3olNEuo7CVrLh50/BklyN2CiPNB1RQ/ZtE37IF7+V9SVf zB1bc4EImVTSTwdblSAmaZaziyHqNJuUqw6kF2OjHEItBKo22FXGPteTKRUkKM0j8RgKZTkoNNi dpghx0JD3G1jwDSsGrsKHBLkJpfI= X-Google-Smtp-Source: AGHT+IHMRqAMb9qqvjoZV614aRHMfqr78BddJOQ4xmoEAJatsbpYvBBe3NjyU9djOgo4/3zKeZh4hspP4AJB2HRzio8= X-Received: by 2002:a17:907:843:b0:a9e:85f8:2a6d with SMTP id a640c23a62f3a-a9ed4c92521mr298548166b.11.1730984956797; Thu, 07 Nov 2024 05:09:16 -0800 (PST) MIME-Version: 1.0 References: <20241107124116.579108-1-chenqiuji666@gmail.com> <00d84e12-4c14-4a6b-a5cd-83d81ac90855@redhat.com> In-Reply-To: <00d84e12-4c14-4a6b-a5cd-83d81ac90855@redhat.com> From: Qiu-ji Chen Date: Thu, 7 Nov 2024 21:09:05 +0800 Message-ID: Subject: Re: [PATCH v2] mm: fix a possible null pointer dereference in setup_zone_pageset() To: David Hildenbrand Cc: akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, baijiaju1990@gmail.com, stable@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: E80CCA000B X-Stat-Signature: 1ppyxyook3ukr33tfr3t54k341u3ba7n X-HE-Tag: 1730984932-915931 X-HE-Meta: U2FsdGVkX1+2KEnjl1hnJ7wRmls6rsnYYQJdrSHSiURF+C/ikuFq2AJuiDas34wjy9MjOn8mezTuQYptyku1425/VUFCqKPOdI058vPMZ+BTiXLvdRds4UtAwg5CedYiTjIecSJD0Qjemr5J70fYVes0qCOFKbszFc+z/N3fWCMmEnT4GDZ1kCYaACEJjAby8ypTqkIAUuCg9BhBub4IbucbBWQ5NEDolmFlX+I4Dimcu1Gw4hqmy13eXTF1ES9KOmzkkf6PxTy4qqEgXXF0Hh5w2mpY9BIuCN0lAX47GX/HUeBd1hmrP1D5MN5UTpjN4gHZCfJmnNsX1cPcmNhEq0JS7rT/qzjxYAIEuXntGCkSx9R3P9h3bkRZIpS9EtjtTwgfcYx0ErpW3+PNgYWZR9dFXc1Cm4jn4LN2kRpzR4ELMD9N719o5TdXOxsOyMdGZTyPaBLHTSpEW/yXDlZesdbqSuejVniop6wYXcH64TPed9Tj7Gu8hLRZyyOhdybajGAt4JMh9JpZvh6F5qGSqGNjeb/i2k33ZDljBSiohCysT4Lfx9PbFX5tvdoiZOMrD06SzsXVPIx14mDoLrksjJbl8f+f6AmOlEyEqt/dxc7c0JMG/mMlI8oeQHPN4CaVq/v1+Y2qyd0Cmgkr7gYxM7FPy1PWss0z3ntoeOUFE5C60MBa/xUvW820xsI+q7BvHfoBnmTB7LQfeRm1T/3gABBqK7/bd9XoBtyhpOhkiZVihJ/ooU1T9rUTW+19VStEVfOE41xsoAC5a3pSFk5mH06lHmPObLhvKYBsqtkL3pEcPG1z8SGckOURgRXntsXFlBAbueZcVY4obafKTOZiYChpblRjQ9ciekF1xRyyE4SkFXnAeDngNLWfOV8FxRJ9zOvZYMBp5TP8IkmSFOIWvlxeuZnIJsYFQ/NoPoqwjw7zORgpqotuE693fu443tm87ixWikVGQ5Df19/G9GE SGozIC6H vA/YYDCxu6l9XZE6TnZD/li3M6xkLPoZakb10YyEZR4e6bEcvw5HLgQ8LEcbvAWRrulyXY01Q48cQQh5SZC8In7VPmlCW7Hk23NWp3jrPm9tHVaO+LEK98gba6r0vii5jWSktDLyWNe9SI8rrqm/gMB43AUUBcX4aVts+Vs4yytXpPXIwXJWFr5J4UO8efXuQ+oOGTNcUAaJ9eqY4FDACiz+bfJuHLOk0NgJLGtjiXBgNnvTj0limz2rwzIWvGpWHsbC66ND3h9WEmWOMsTz/qOLAc9GZsQkw9hlyxLeG2RzK8TOoPquNo4Gmxixje7I7G+iUC2qf2ZEhIJhPq967Y2RfmbTU68DMjy0SPUN1R4cq7toA4ooCIAmJ//9Ldb7n6EpqWWsRdjujRoSSHaZMDIloP95ARn9DHJQJtypHNfpbns7y1yftEfKByw/PMiYQDEzYvi/5HFy4J3Lzy7NOVdMjQ49iwqASJEQEackKF3G4swwjxPS6HtK8uYrkSnzzB3HCxrXMjdlwhcIgjhnDIlcalxRu9EhfMhyi0mL7kXIe2FUct+B2lsBPPeJtDyOIzb30 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: Hello, the previous patch did not correctly check and release the relevant pointers. Version 2 has fixed these issues. Thank you for your response. On Thu, Nov 7, 2024 at 8:53=E2=80=AFPM David Hildenbrand = wrote: > > On 07.11.24 13:41, Qiu-ji Chen wrote: > > The function call alloc_percpu() returns a pointer to the memory addres= s, > > but it hasn't been checked. Our static analysis tool indicates that nul= l > > pointer dereference may exist in pointer zone->per_cpu_pageset. It is > > always safe to judge the null pointer before use. > > > > Signed-off-by: Qiu-ji Chen > > Cc: stable@vger.kernel.org > > Fixes: 9420f89db2dd ("mm: move most of core MM initialization to mm/mm_= init.c") > > --- > > V2: > > Fixed the incorrect code logic. > > Thanks David Hildenbrand for helpful suggestion. > > --- > > mm/page_alloc.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > > index 8afab64814dc..7c8a74fd02d6 100644 > > --- a/mm/page_alloc.c > > +++ b/mm/page_alloc.c > > @@ -5703,8 +5703,14 @@ void __meminit setup_zone_pageset(struct zone *z= one) > > /* Size may be 0 on !SMP && !NUMA */ > > if (sizeof(struct per_cpu_zonestat) > 0) > > zone->per_cpu_zonestats =3D alloc_percpu(struct per_cpu_z= onestat); > > + if (!zone->per_cpu_zonestats) > > + return; > > > > zone->per_cpu_pageset =3D alloc_percpu(struct per_cpu_pages); > > + if (!zone->per_cpu_pageset) { > > + free_percpu(zone->per_cpu_zonestats); > > + return; > > + } > > for_each_possible_cpu(cpu) { > > struct per_cpu_pages *pcp; > > struct per_cpu_zonestat *pzstats; > > Unmodified patch, likely not what you wanted to send? > > > -- > Cheers, > > David / dhildenb >