hugetlb BUILD REGRESSION in linux-next20221121

Sidhartha Kumar <[email protected]> Mon, 28 Nov 2022 14:34:54 -0800
Newsgroups org.kernel.vger.smatch
Message-ID <[email protected]>
Hello,

One of my patches in linux-next was flagged as a Unverified 
Error/Warning with the following warning[1]:

mm/hugetlb.c:2073 alloc_pool_huge_page() error: uninitialized symbol 
'folio'.

The relevant change is:

-    struct page *page;
+    struct folio *folio;
      int nr_nodes, node;
      gfp_t gfp_mask = htlb_alloc_mask(h) | __GFP_THISNODE;

      for_each_node_mask_to_alloc(h, nr_nodes, node, nodes_allowed) {
-        page = alloc_fresh_huge_page(h, gfp_mask, node, nodes_allowed,
-                        node_alloc_noretry);
-        if (page)
+        folio = alloc_fresh_hugetlb_folio(h, gfp_mask, node,
+                    nodes_allowed, node_alloc_noretry);
+        if (folio)
              break;
      }

-    if (!page)
+    if (!folio)

It looks like I can initialize folio to NULL to avoid this error but I'm 
not sure how this would cause a regression as previously the page 
variable was unitialized as well. Please let me know if I am missing 
something in my patch or if this should be ignored.

Thanks,

Sidhartha Kumar

[1]: 
https://lore.kernel.org/linux-arm-kernel/637bf477.ORnAaf8quqxr%2FcRo%[email protected]/T/