From: kernel test robot <lkp@intel.com>
To: Hongling Zeng <zenghongling@kylinos.cn>,
akpm@linux-foundation.org, david@fromorbit.com,
qi.zheng@linux.dev, roman.gushchin@linux.dev,
muchun.song@linux.dev
Cc: oe-kbuild-all@lists.linux.dev, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, zhongling0719@126.com,
Hongling Zeng <zenghongling@kylinos.cn>,
stable@vger.kernel.org
Subject: Re: [PATCH] mm: shrinker: fix double-free in alloc_shrinker_info error path
Date: Sat, 11 Jul 2026 17:47:09 +0800 [thread overview]
Message-ID: <202607111736.7pLPe0yR-lkp@intel.com> (raw)
In-Reply-To: <20260711041823.95135-1-zenghongling@kylinos.cn>
Hi Hongling,
kernel test robot noticed the following build warnings:
[auto build test WARNING on v7.2-rc2]
[cannot apply to akpm-mm/mm-everything linus/master next-20260710]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Hongling-Zeng/mm-shrinker-fix-double-free-in-alloc_shrinker_info-error-path/20260711-122040
base: v7.2-rc2
patch link: https://lore.kernel.org/r/20260711041823.95135-1-zenghongling%40kylinos.cn
patch subject: [PATCH] mm: shrinker: fix double-free in alloc_shrinker_info error path
config: nios2-allmodconfig (https://download.01.org/0day-ci/archive/20260711/202607111736.7pLPe0yR-lkp@intel.com/config)
compiler: nios2-linux-gcc (GCC) 11.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260711/202607111736.7pLPe0yR-lkp@intel.com/reproduce)
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 <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202607111736.7pLPe0yR-lkp@intel.com/
All warnings (new ones prefixed by >>):
mm/shrinker.c: In function 'alloc_shrinker_info':
mm/shrinker.c:108:24: error: implicit declaration of function 'shrinker_info_protected' [-Werror=implicit-function-declaration]
108 | info = shrinker_info_protected(memcg, nid);
| ^~~~~~~~~~~~~~~~~~~~~~~
>> mm/shrinker.c:108:22: warning: assignment to 'struct shrinker_info *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
108 | info = shrinker_info_protected(memcg, nid);
| ^
mm/shrinker.c: At top level:
mm/shrinker.c:117:30: error: conflicting types for 'shrinker_info_protected'; have 'struct shrinker_info *(struct mem_cgroup *, int)'
117 | static struct shrinker_info *shrinker_info_protected(struct mem_cgroup *memcg,
| ^~~~~~~~~~~~~~~~~~~~~~~
mm/shrinker.c:108:24: note: previous implicit declaration of 'shrinker_info_protected' with type 'int()'
108 | info = shrinker_info_protected(memcg, nid);
| ^~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +108 mm/shrinker.c
76
77 int alloc_shrinker_info(struct mem_cgroup *memcg)
78 {
79 int nid, ret = 0;
80 int array_size = 0;
81 int failed_nid;
82
83 mutex_lock(&shrinker_mutex);
84 array_size = shrinker_unit_size(shrinker_nr_max);
85 for_each_node(nid) {
86 struct shrinker_info *info = kvzalloc_node(sizeof(*info) + array_size,
87 GFP_KERNEL, nid);
88 if (!info)
89 goto err;
90 info->map_nr_max = shrinker_nr_max;
91 if (shrinker_unit_alloc(info, NULL, nid)) {
92 kvfree(info);
93 goto err;
94 }
95 rcu_assign_pointer(memcg->nodeinfo[nid]->shrinker_info, info);
96 }
97 mutex_unlock(&shrinker_mutex);
98
99 return ret;
100
101 err:
102 failed_nid = nid;
103 for_each_node(nid) {
104 struct shrinker_info *info;
105
106 if (nid >= failed_nid)
107 break;
> 108 info = shrinker_info_protected(memcg, nid);
109 rcu_assign_pointer(memcg->nodeinfo[nid]->shrinker_info, NULL);
110 shrinker_unit_free(info, 0);
111 kvfree(info);
112 }
113 mutex_unlock(&shrinker_mutex);
114 return -ENOMEM;
115 }
116
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2026-07-11 9:47 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-11 4:18 [PATCH] mm: shrinker: fix double-free in alloc_shrinker_info error path Hongling Zeng
2026-07-11 9:47 ` kernel test robot [this message]
2026-07-11 13:27 ` kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2026-07-11 4:19 [PATCH] mm: shrinker: Fix " Hongling Zeng
2026-07-11 5:31 ` Qi Zheng
2026-07-11 7:53 ` Hongling Zeng
2026-07-11 4:15 [PATCH] mm: shrinker: fix " Hongling Zeng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202607111736.7pLPe0yR-lkp@intel.com \
--to=lkp@intel.com \
--cc=akpm@linux-foundation.org \
--cc=david@fromorbit.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=muchun.song@linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=qi.zheng@linux.dev \
--cc=roman.gushchin@linux.dev \
--cc=stable@vger.kernel.org \
--cc=zenghongling@kylinos.cn \
--cc=zhongling0719@126.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox