Re: [PATCH v1] mm/vmscan: fix uninitialized variable in demote_folio_list()

From: Bing Jiao
Date: Fri Jan 09 2026 - 01:14:37 EST


On Fri, Jan 09, 2026 at 06:06:21AM +0000, Bing Jiao wrote:
> Commit d92027a5f30a6c ("mm/vmscan: select the closest preferred node in
> demote_folio_list()") refactored the selection logic for demotion target
> nodes. However, it removed the initial assignment of 'target_nid' while
> leaving a premature check for 'NUMA_NO_NODE' in place.
>
> Since 'target_nid' is now assigned further down in the function based on
> preferred and allowed node masks, the initial check at line 1046 is
> redundant.
>
> Remove the redundant check to resolve the compiler warning.
>
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Closes: https://lore.kernel.org/oe-kbuild-all/202601091037.vUSHeJCH-lkp@xxxxxxxxx/
> Fixes: d92027a5f30a6c ("mm/vmscan: select the closest preferred node in demote_folio_list()")
> Signed-off-by: Bing Jiao <bingjiao@xxxxxxxxxx>
> ---
> mm/vmscan.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index 213ee75b3306..590ab3ec1998 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -1044,10 +1044,6 @@ static unsigned int demote_folio_list(struct list_head *demote_folios,
> if (list_empty(demote_folios))
> return 0;
>
> - if (target_nid == NUMA_NO_NODE)
> - /* No lower-tier nodes or nodes were hot-unplugged. */
> - return 0;
> -
> node_get_allowed_targets(pgdat, &allowed_mask);
> mem_cgroup_node_filter_allowed(memcg, &allowed_mask);
> if (nodes_empty(allowed_mask))
> --

Hi Andrew,

Sorry for bother you again in my patch series.

The fix is a simple removal of a redundant, premature check that
was using 'target_nid' before its new initialization point, which
is reported by the kernel test.

I am not sure whether it is a good idead to send a standalone patch
to fix it. Maybe it is likely easier to process.
However, if you would like replace the series Commit d92027a5f30a6c
("mm/vmscan: select the closest preferred node in demote_folio_list()")
entirely to keep the versioning consistent, I can send an v8 version.

Thanks for your time on this patch series.

Best regards,
Bing Jiao