Mike Kravetz
unread,Aug 25, 2022, 12:56:26 PM8/25/22Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Naresh Kamboju, Andrew Morton, linux-mm, open list, regre...@lists.linux.dev, Nathan Chancellor, clang-built-linux, Muchun Song, Andrea Arcangeli, Aneesh Kumar K.V, Axel Rasmussen, David Hildenbrand, Davidlohr Bueso, James Houghton, Kirill A. Shutemov, Miaohe Lin, Michal Hocko, Mina Almasry, Naoya Horiguchi, Pasha Tatashin, Peter Xu, Prakash Sangappa
On 08/25/22 16:13, Naresh Kamboju wrote:
> The x86_64 and i386 clang builds failed due to these warnings / errors
> on Linux next-20220825.
>
> Reported-by: Linux Kernel Functional Testing <
lk...@linaro.org>
>
> fs/hugetlbfs/inode.c:673:16: error: variable 'm_index' is
> uninitialized when used here [-Werror,-Wuninitialized]
> m_start, m_index, truncate_op);
> ^~~~~~~
> fs/hugetlbfs/inode.c:651:26: note: initialize the variable 'm_index'
Thanks! That really should be 'index' and not 'm_index'. The variable
m_index was used in a previous version of the code and should have been
deleted. Depending on the uninitialized value of m_index, this could
cause long delays as the called routine checks the range m_start to m_index.
Andrew, how would you like to address in your tree? The following patch
can be applied on top of the original (next commit fcc0d3d00d74 "hugetlb:
handle truncate racing with page faults"). Or, I could squash and
resend the original, or resend the entire series.
From 99aae359c3a744e6718045d2f24b55c84bed4d56 Mon Sep 17 00:00:00 2001
From: Mike Kravetz <
mike.k...@oracle.com>
Date: Thu, 25 Aug 2022 09:49:08 -0700
Subject: [PATCH] hugetlb: fix/remove uninitialized variable in
remove_inode_hugepages
Code introduced for the routine remove_inode_hugepages by patch "hugetlb:
handle truncate racing with page faults", incorrectly uses a variable
m_index. This is a remnant from a previous version of the code when
under development. Use the correct variable 'index' and remove
'm_index' from the routine.
Signed-off-by: Mike Kravetz <
mike.k...@oracle.com>
---
fs/hugetlbfs/inode.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index 52d9b390389b..2f1d6da1bafb 100644
--- a/fs/hugetlbfs/inode.c
+++ b/fs/hugetlbfs/inode.c
@@ -648,7 +648,7 @@ static void remove_inode_hugepages(struct inode *inode, loff_t lstart,
const pgoff_t start = lstart >> huge_page_shift(h);
const pgoff_t end = lend >> huge_page_shift(h);
pgoff_t m_end = lm_end >> huge_page_shift(h);
- pgoff_t m_start, m_index;
+ pgoff_t m_start;
struct folio_batch fbatch;
struct folio *folio;
pgoff_t next, index;
@@ -670,7 +670,7 @@ static void remove_inode_hugepages(struct inode *inode, loff_t lstart,
* due to a race with fault code.
*/
freed += fault_lock_inode_indicies(h, inode, mapping,
- m_start, m_index, truncate_op);
+ m_start, index, truncate_op);
/*
* Remove folio that was part of folio_batch.
--
2.37.1