[PATCH 1/2] mm/khugepaged: Fix an uninitialized variable bug
From: Dan Carpenter
Date: Fri Oct 20 2023 - 10:13:42 EST
Smatch complains that "hpage" can be used uninitialized:
mm/khugepaged.c:1234 collapse_huge_page()
error: uninitialized symbol 'hpage'.
Initialized it on this path.
Fixes: 50ad2f24b3b4 ("mm/khugepaged: propagate enum scan_result codes back to callers")
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
---
>From static analysis. Not tested.
mm/khugepaged.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/mm/khugepaged.c b/mm/khugepaged.c
index 0622f8a5175d..a25f5b7c3e7e 100644
--- 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);
--
2.42.0