Hi Mathieu,

kernel test robot noticed the following build warnings:

https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/Mathieu-Desnoyers/lib-Introduce-hierarchical-per-cpu-counters/20260111-231206
base:   next-20260109
patch link:    
https://lore.kernel.org/r/20260111150249.1222944-4-mathieu.desnoyers%40efficios.com
patch subject: [PATCH v12 3/3] mm: Implement precise OOM killer task selection
config: s390-randconfig-r071-20260112 
(https://download.01.org/0day-ci/archive/20260112/[email protected]/config)
compiler: s390-linux-gcc (GCC) 14.3.0
smatch version: v0.5.0-8985-g2614ff1a

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 <[email protected]>
| Reported-by: Dan Carpenter <[email protected]>
| Closes: https://lore.kernel.org/r/[email protected]/

smatch warnings:
mm/oom_kill.c:392 oom_evaluate_task() error: uninitialized symbol 'points_min'.

vim +/points_min +392 mm/oom_kill.c

7c5f64f84483bd1 Vladimir Davydov  2016-10-07  322  static int 
oom_evaluate_task(struct task_struct *task, void *arg)
462607ecc519b19 David Rientjes    2012-07-31  323  {
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  324       struct oom_control *oc 
= arg;
72456781289a6ed Mathieu Desnoyers 2026-01-11  325       unsigned long 
accuracy_under = 0, accuracy_over = 0;
72456781289a6ed Mathieu Desnoyers 2026-01-11  326       long points, 
points_min, points_max;
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  327  
ac311a14c682dcd Shakeel Butt      2019-07-11  328       if 
(oom_unkillable_task(task))
ac311a14c682dcd Shakeel Butt      2019-07-11  329               goto next;
ac311a14c682dcd Shakeel Butt      2019-07-11  330  
ac311a14c682dcd Shakeel Butt      2019-07-11  331       /* p may not have 
freeable memory in nodemask */
ac311a14c682dcd Shakeel Butt      2019-07-11  332       if (!is_memcg_oom(oc) 
&& !oom_cpuset_eligible(task, oc))
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  333               goto next;
462607ecc519b19 David Rientjes    2012-07-31  334  
462607ecc519b19 David Rientjes    2012-07-31  335       /*
462607ecc519b19 David Rientjes    2012-07-31  336        * This task already 
has access to memory reserves and is being killed.
a373966d1f64c04 Michal Hocko      2016-07-28  337        * Don't allow any 
other task to have access to the reserves unless
862e3073b3eed13 Michal Hocko      2016-10-07  338        * the task has 
MMF_OOM_SKIP because chances that it would release
a373966d1f64c04 Michal Hocko      2016-07-28  339        * any memory is quite 
low.
462607ecc519b19 David Rientjes    2012-07-31  340        */
862e3073b3eed13 Michal Hocko      2016-10-07  341       if (!is_sysrq_oom(oc) 
&& tsk_is_oom_victim(task)) {
12e423ba4eaed7b Lorenzo Stoakes   2025-08-12  342               if 
(mm_flags_test(MMF_OOM_SKIP, task->signal->oom_mm))
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  343                       goto 
next;
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  344               goto abort;
a373966d1f64c04 Michal Hocko      2016-07-28  345       }
462607ecc519b19 David Rientjes    2012-07-31  346  
e1e12d2f3104be8 David Rientjes    2012-12-11  347       /*
e1e12d2f3104be8 David Rientjes    2012-12-11  348        * If task is 
allocating a lot of memory and has been marked to be
e1e12d2f3104be8 David Rientjes    2012-12-11  349        * killed first if it 
triggers an oom, then select it.
e1e12d2f3104be8 David Rientjes    2012-12-11  350        */
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  351       if 
(oom_task_origin(task)) {
9066e5cfb73cdbc Yafang Shao       2020-08-11  352               points = 
LONG_MAX;
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  353               goto select;

points_min is uninitialized.

7c5f64f84483bd1 Vladimir Davydov  2016-10-07  354       }
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  355  
72456781289a6ed Mathieu Desnoyers 2026-01-11  356       points = 
oom_badness(task, oc->totalpages, true, &accuracy_under, &accuracy_over);
72456781289a6ed Mathieu Desnoyers 2026-01-11  357       if (points != LONG_MIN) 
{
72456781289a6ed Mathieu Desnoyers 2026-01-11  358               
percpu_counter_tree_approximate_min_max_range(points,
72456781289a6ed Mathieu Desnoyers 2026-01-11  359                               
accuracy_under, accuracy_over,
72456781289a6ed Mathieu Desnoyers 2026-01-11  360                               
&points_min, &points_max);
72456781289a6ed Mathieu Desnoyers 2026-01-11  361       }
72456781289a6ed Mathieu Desnoyers 2026-01-11  362       if (oc->approximate) {
72456781289a6ed Mathieu Desnoyers 2026-01-11  363               /*
72456781289a6ed Mathieu Desnoyers 2026-01-11  364                * Keep the 
process which has the highest minimum
72456781289a6ed Mathieu Desnoyers 2026-01-11  365                * possible 
points value based on approximation.
72456781289a6ed Mathieu Desnoyers 2026-01-11  366                */
72456781289a6ed Mathieu Desnoyers 2026-01-11  367               if (points == 
LONG_MIN || points_min < oc->chosen_points)
72456781289a6ed Mathieu Desnoyers 2026-01-11  368                       goto 
next;
72456781289a6ed Mathieu Desnoyers 2026-01-11  369       } else {
72456781289a6ed Mathieu Desnoyers 2026-01-11  370               /*
72456781289a6ed Mathieu Desnoyers 2026-01-11  371                * Eliminate 
processes which are certainly below the
72456781289a6ed Mathieu Desnoyers 2026-01-11  372                * chosen 
points minimum possible value with an
72456781289a6ed Mathieu Desnoyers 2026-01-11  373                * 
approximation.
72456781289a6ed Mathieu Desnoyers 2026-01-11  374                */
72456781289a6ed Mathieu Desnoyers 2026-01-11  375               if (points == 
LONG_MIN || (long)(points_max - oc->chosen_points) < 0)
72456781289a6ed Mathieu Desnoyers 2026-01-11  376                       goto 
next;
72456781289a6ed Mathieu Desnoyers 2026-01-11  377  
72456781289a6ed Mathieu Desnoyers 2026-01-11  378               if 
(oc->nr_precise < max_precise_badness_sums) {
72456781289a6ed Mathieu Desnoyers 2026-01-11  379                       
oc->nr_precise++;
72456781289a6ed Mathieu Desnoyers 2026-01-11  380                       /* 
Precise evaluation. */
72456781289a6ed Mathieu Desnoyers 2026-01-11  381                       
points_min = points_max = points = oom_badness(task, oc->totalpages, false, 
NULL, NULL);
72456781289a6ed Mathieu Desnoyers 2026-01-11  382                       if 
(points == LONG_MIN || (long)(points - oc->chosen_points) < 0)
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  383                               
goto next;
72456781289a6ed Mathieu Desnoyers 2026-01-11  384               }
72456781289a6ed Mathieu Desnoyers 2026-01-11  385       }
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  386  
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  387  select:
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  388       if (oc->chosen)
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  389               
put_task_struct(oc->chosen);
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  390       get_task_struct(task);
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  391       oc->chosen = task;
72456781289a6ed Mathieu Desnoyers 2026-01-11 @392       oc->chosen_points = 
points_min;
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  393  next:
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  394       return 0;
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  395  abort:
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  396       if (oc->chosen)
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  397               
put_task_struct(oc->chosen);
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  398       oc->chosen = (void 
*)-1UL;
7c5f64f84483bd1 Vladimir Davydov  2016-10-07  399       return 1;
462607ecc519b19 David Rientjes    2012-07-31  400  }

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


Reply via email to