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 B48EBC021A4 for ; Mon, 24 Feb 2025 23:14:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 39D59280002; Mon, 24 Feb 2025 18:14:02 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 34D35280001; Mon, 24 Feb 2025 18:14:02 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 21549280002; Mon, 24 Feb 2025 18:14:02 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 02542280001 for ; Mon, 24 Feb 2025 18:14:01 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 706C5C02E8 for ; Mon, 24 Feb 2025 23:14:01 +0000 (UTC) X-FDA: 83156393082.20.147B7D2 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10]) by imf16.hostedemail.com (Postfix) with ESMTP id B1992180013 for ; Mon, 24 Feb 2025 23:13:58 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="L7DeApg/"; spf=pass (imf16.hostedemail.com: domain of lkp@intel.com designates 198.175.65.10 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740438839; 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:in-reply-to: references:dkim-signature; bh=oUYitReowqG2VDFGOVeq3Q5OHZYNccPKfMGrJ1eGIdg=; b=28N3xhGMi1RxUBxiGI9Ui4R5iKLfe6UqyHzB+EIXeqKe9zk9XnSsDszmVACSEJ+TRVicCY s2Q7j6QEJraa89Fw0tWzFqZiO4/iA4IPsHIcYUVzkvY9i9cmPpiay5evCJwEdu2AgI3GtC +ofrwgAI0KBo5UX6I9FSMxnR2DZtq5g= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="L7DeApg/"; spf=pass (imf16.hostedemail.com: domain of lkp@intel.com designates 198.175.65.10 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740438839; a=rsa-sha256; cv=none; b=lyIqIXs/5DJxD0+WQ2EaavmojC8VWY4TNPPzLliCht6tO2+nEc/uVq4RdX/O/gCoHiVUAL yWZVQi445L1z7rJFJuMMbF2MnM26IUvYhRSll6WnpcWPCLUWVvrCursih23pw8NDnVDxiX 0p0b/8pm89qxsH+B79Otmrj0AtBrzF0= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1740438839; x=1771974839; h=date:from:to:cc:subject:message-id:mime-version; bh=NU8ghwEnANBw9tGSg50UrMsAD/8B3rrywGZnzLOm4gY=; b=L7DeApg/tKI1vgcH4gWDn+tnuOGM8RQbPqoF1nAigxvggBro0353X2TQ Y77nsjudFFlwBciCaaXrLjLWlfBSRdeOwJGF4wJ/ern2Grp1id86azIlm aPq9jriKcLi5xg52snWt418yQJtOIqwO6W0WNcggojZknSLn6JUSnUKr/ 1t8Mb+eyCGX3ddrOy/qzzrX3izEooP0aOuyZb4yXqR130LB2wk0Zny/Oc klsZVP9F/UGPnvKcTaWuYYXwMZHOgGRGuNfmaxww4rmy2elSysuSgXwuy 4c93bC1DP4Lggy4ww2K2y9pgcVtQDS/UYsIaiKadBNvC7ZwciRanINf2X g==; X-CSE-ConnectionGUID: gKaEzALJRBe1p97fYQ1zCQ== X-CSE-MsgGUID: lgsJfXCRTyOS7GsKQyjAhw== X-IronPort-AV: E=McAfee;i="6700,10204,11355"; a="58634882" X-IronPort-AV: E=Sophos;i="6.13,312,1732608000"; d="scan'208";a="58634882" Received: from fmviesa004.fm.intel.com ([10.60.135.144]) by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Feb 2025 15:13:58 -0800 X-CSE-ConnectionGUID: hU/VVwovSNO088hCm9pe/A== X-CSE-MsgGUID: uIxEa51QSmSQkhF+6sChTQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.13,312,1732608000"; d="scan'208";a="121298492" Received: from lkp-server02.sh.intel.com (HELO 76cde6cc1f07) ([10.239.97.151]) by fmviesa004.fm.intel.com with ESMTP; 24 Feb 2025 15:13:55 -0800 Received: from kbuild by 76cde6cc1f07 with local (Exim 4.96) (envelope-from ) id 1tmhe5-0009R5-2D; Mon, 24 Feb 2025 23:13:53 +0000 Date: Tue, 25 Feb 2025 07:13:35 +0800 From: kernel test robot To: Kairui Song Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org, Andrew Morton , Linux Memory Management List Subject: mm/list_lru.c:552:3-8: WARNING: NULL check before some freeing functions is not needed. Message-ID: <202502250720.9ueIb7Xh-lkp@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspam-User: X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: B1992180013 X-Stat-Signature: yow94nbttt1oxabuddb8d55iqmqn7s85 X-HE-Tag: 1740438838-885621 X-HE-Meta: U2FsdGVkX18hvitPywlioKxyjtUxiMilWThA7G88UAwabqsBTmywWC33OQVhAaWkJoR4CludiQS2KHSMVWtbkxnhbJTFzNrzciHybmvI+NW29XGYv0qbrqoPnvlukMfu0PucDco2FaNB3BXnQZl9zEIGYbydjDl/nQKuhzYfINr6sItw6nzK77NW0AE5ZRwrgne/5ZrBR2JUMgCxn3C63Klu/aAZdDL1alAFTxuy0d7dXh5UN4VqaCiOx37y3butINDfD7aYENnL1zFCPVVMEhadBx1m2jqDisbvOQ1oz5bt3kBLp6uB8LkcZSG/YsDdqIz1o+xxHjVnzDhfkyMKOJYnvozZ5THOxsaO1PhkS5GYni9NlxvK4wmpRkqyFbkrDZQboxa/egBNarxXXE2qvGwpJXPg2ZpY4Xni+dQpRiHOHX8UweAxSaEC6yvlesebibdHQSymP+8ED5/H8ZSbE6uYkK4Vacdj1jWWyPaW4U0JFe2gbHPzMpWttTjxkMPbVeLb9sZPXjYeWaYHK7pbfxk0p2IhegVcXxV6kOiL470Gz0AWrq/43c9aApOQeFVF1zuz7LphO7GwhncbgsmG6+ue9cCMGBRtXrNtq+MfVHLeOC+RB32/TmiAa/9JA8/1fsSE4ZFodS5lFetyeWGZ9GR03eCCzmh+V/WRhOu6pKcA9AdyTisJ4HrCQiG5fVlNaJOiZDijkP+odvA3LCLc1njfhKWOuH2vrJ0q7rzWHakkH1c77eB3M6ZzO/DvMzFjHkfShLno0JtPNFVd/W/cywolkrSMf1kFvogTvTC9vBhA4c/aRxfrXfwysAEKUreOBc5V7cQcbSnpJC95M/bJ0sfhJFWHFBGG65P/prXG8sSZgcdjgJA8tFSKhj2EdC8YRkHz+eCrZi4gwvfleS7FnDDEoAiOOQPOGtbOJWd/LWkz8JdlGgR5Do/SG6bDZcR7v3xIJ7CW+fL66jObO38 qsVYe5cv xtx83hHPhhhgdGu/1BfBOEwtWT1KcmjxNlN0z2mWmDMHE/JzbrL9+HUksyiA1/rOqq64p7Uv/u7lBAfbQuC96pAilUBsijCxzBTG47ar7UBiJ25TpdqIjEQMVInqmAFPd6UIKLoOO+7JmXkMVJw9rP/frc0nIUAeZKGkfChsYSL3v5Z6LETpaXMUOmqvZMx1Gsw41iU/YwbwPJEDlk17DsjdbNhesXh87aZg+WfwKSzaSUpMA3Xsl7D82BoIupxH1chhxQo+GLlHHNPXF22B1BopnLBUrfZmu2uCMLFo6KS3TX0cv35AxgC5cMYLPdbCaCynQ312ExGdX+lEEgnOeg64LQyK/Cpiw4Pn/GL0MsocVZyWy+E8vxCkrmbj3c+7nMj9MMy5bkvG5QtJ/bTq6XevLFYv2pq5HwkpLG0iWH9l2DvQHYUv9SYjkBpe+k4F0z/EaLEJazA1k0YE= 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: Hi Kairui, First bad commit (maybe != root cause): tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: d082ecbc71e9e0bf49883ee4afd435a77a5101b6 commit: fb56fdf8b9a2f7397f8a83dce50189f3f0cf71af mm/list_lru: split the lock to per-cgroup scope date: 4 months ago config: mips-randconfig-r052-20250224 (https://download.01.org/0day-ci/archive/20250225/202502250720.9ueIb7Xh-lkp@intel.com/config) compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot | Closes: https://lore.kernel.org/oe-kbuild-all/202502250720.9ueIb7Xh-lkp@intel.com/ cocci warnings: (new ones prefixed by >>) >> mm/list_lru.c:552:3-8: WARNING: NULL check before some freeing functions is not needed. vim +552 mm/list_lru.c 88f2ef73fd6649 Muchun Song 2022-03-22 508 88f2ef73fd6649 Muchun Song 2022-03-22 509 int memcg_list_lru_alloc(struct mem_cgroup *memcg, struct list_lru *lru, 88f2ef73fd6649 Muchun Song 2022-03-22 510 gfp_t gfp) 88f2ef73fd6649 Muchun Song 2022-03-22 511 { 88f2ef73fd6649 Muchun Song 2022-03-22 512 unsigned long flags; d70110704d2d52 Muchun Song 2022-03-22 513 struct list_lru_memcg *mlru; 28e98022b31efd Kairui Song 2024-11-05 514 struct mem_cgroup *pos, *parent; bbca91cca9a902 Muchun Song 2022-03-22 515 XA_STATE(xas, &lru->xa, 0); 88f2ef73fd6649 Muchun Song 2022-03-22 516 88f2ef73fd6649 Muchun Song 2022-03-22 517 if (!list_lru_memcg_aware(lru) || memcg_list_lru_allocated(memcg, lru)) 88f2ef73fd6649 Muchun Song 2022-03-22 518 return 0; 88f2ef73fd6649 Muchun Song 2022-03-22 519 88f2ef73fd6649 Muchun Song 2022-03-22 520 gfp &= GFP_RECLAIM_MASK; 88f2ef73fd6649 Muchun Song 2022-03-22 521 /* 88f2ef73fd6649 Muchun Song 2022-03-22 522 * Because the list_lru can be reparented to the parent cgroup's 88f2ef73fd6649 Muchun Song 2022-03-22 523 * list_lru, we should make sure that this cgroup and all its d70110704d2d52 Muchun Song 2022-03-22 524 * ancestors have allocated list_lru_memcg. 88f2ef73fd6649 Muchun Song 2022-03-22 525 */ 28e98022b31efd Kairui Song 2024-11-05 526 do { 28e98022b31efd Kairui Song 2024-11-05 527 /* 28e98022b31efd Kairui Song 2024-11-05 528 * Keep finding the farest parent that wasn't populated 28e98022b31efd Kairui Song 2024-11-05 529 * until found memcg itself. 28e98022b31efd Kairui Song 2024-11-05 530 */ 28e98022b31efd Kairui Song 2024-11-05 531 pos = memcg; 28e98022b31efd Kairui Song 2024-11-05 532 parent = parent_mem_cgroup(pos); 28e98022b31efd Kairui Song 2024-11-05 533 while (!memcg_list_lru_allocated(parent, lru)) { 28e98022b31efd Kairui Song 2024-11-05 534 pos = parent; 28e98022b31efd Kairui Song 2024-11-05 535 parent = parent_mem_cgroup(pos); 88f2ef73fd6649 Muchun Song 2022-03-22 536 } 88f2ef73fd6649 Muchun Song 2022-03-22 537 fb56fdf8b9a2f7 Kairui Song 2024-11-05 538 mlru = memcg_init_list_lru_one(lru, gfp); 28e98022b31efd Kairui Song 2024-11-05 539 if (!mlru) 28e98022b31efd Kairui Song 2024-11-05 540 return -ENOMEM; 28e98022b31efd Kairui Song 2024-11-05 541 xas_set(&xas, pos->kmemcg_id); 28e98022b31efd Kairui Song 2024-11-05 542 do { bbca91cca9a902 Muchun Song 2022-03-22 543 xas_lock_irqsave(&xas, flags); 28e98022b31efd Kairui Song 2024-11-05 544 if (!xas_load(&xas) && !css_is_dying(&pos->css)) { bbca91cca9a902 Muchun Song 2022-03-22 545 xas_store(&xas, mlru); 28e98022b31efd Kairui Song 2024-11-05 546 if (!xas_error(&xas)) 28e98022b31efd Kairui Song 2024-11-05 547 mlru = NULL; bbca91cca9a902 Muchun Song 2022-03-22 548 } bbca91cca9a902 Muchun Song 2022-03-22 549 xas_unlock_irqrestore(&xas, flags); 28e98022b31efd Kairui Song 2024-11-05 550 } while (xas_nomem(&xas, gfp)); 28e98022b31efd Kairui Song 2024-11-05 551 if (mlru) 28e98022b31efd Kairui Song 2024-11-05 @552 kfree(mlru); 28e98022b31efd Kairui Song 2024-11-05 553 } while (pos != memcg && !css_is_dying(&pos->css)); 88f2ef73fd6649 Muchun Song 2022-03-22 554 bbca91cca9a902 Muchun Song 2022-03-22 555 return xas_error(&xas); 88f2ef73fd6649 Muchun Song 2022-03-22 556 } 60d3fd32a7a9da Vladimir Davydov 2015-02-12 557 #else bbca91cca9a902 Muchun Song 2022-03-22 558 static inline void memcg_init_list_lru(struct list_lru *lru, bool memcg_aware) 60d3fd32a7a9da Vladimir Davydov 2015-02-12 559 { 60d3fd32a7a9da Vladimir Davydov 2015-02-12 560 } 60d3fd32a7a9da Vladimir Davydov 2015-02-12 561 :::::: The code at line 552 was first introduced by commit :::::: 28e98022b31efdb8f1ba310d938cd9b97ededfe4 mm/list_lru: simplify reparenting and initial allocation :::::: TO: Kairui Song :::::: CC: Andrew Morton -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki