On Fri, 20 Oct 2023 17:13:32 +0300 Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote: > Smatch complains that "hpage" can be used uninitialized: > > mm/khugepaged.c:1234 collapse_huge_page() > error: uninitialized symbol 'hpage'. > > Initialized it on this path. > > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -1062,8 +1062,10 @@ static int alloc_charge_hpage(struct page **hpage, struct mm_struct *mm, > int node = hpage_collapse_find_target_node(cc); > struct folio *folio; > > - if (!hpage_collapse_alloc_folio(&folio, gfp, node, &cc->alloc_nmask)) > + if (!hpage_collapse_alloc_folio(&folio, gfp, node, &cc->alloc_nmask)) { > + *hpage = NULL; > return SCAN_ALLOC_HUGE_PAGE_FAIL; > + } > > if (unlikely(mem_cgroup_charge(folio, mm, gfp))) { > folio_put(folio); Thanks. Seems this was accidentally fixed by Author: Peter Xu <peterx@xxxxxxxxxx> AuthorDate: Wed Feb 22 14:52:47 2023 -0500 Commit: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> CommitDate: Tue Mar 28 16:20:06 2023 -0700 mm/khugepaged: alloc_charge_hpage() take care of mem charge errors Which was quite a long time ago. Are you scanning old kernel versions?