[PATCH] mm/shmem: initialize folio to NULL

Tom Rix posted 1 patch 4 years ago
mm/shmem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] mm/shmem: initialize folio to NULL
Posted by Tom Rix 4 years ago
The clang build fails with
mm/shmem.c:1704:7: error: variable 'folio' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
  if (!page) {
       ^~~~~
The error handler for !page jumps to an if-check for an unset folio.
So initialize folio to NULL.

Fixes: 2b58b3f33ba2 ("mm/shmem: convert shmem_swapin_page() to shmem_swapin_folio()")
Signed-off-by: Tom Rix <trix@redhat.com>
---
 mm/shmem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/shmem.c b/mm/shmem.c
index 107f1e4dd0aa..7faaa61ff7fa 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -1682,7 +1682,7 @@ static int shmem_swapin_folio(struct inode *inode, pgoff_t index,
 	struct shmem_inode_info *info = SHMEM_I(inode);
 	struct mm_struct *charge_mm = vma ? vma->vm_mm : NULL;
 	struct page *page;
-	struct folio *folio;
+	struct folio *folio = NULL;
 	swp_entry_t swap;
 	int error;
 
-- 
2.27.0
Re: [PATCH] mm/shmem: initialize folio to NULL
Posted by Matthew Wilcox 4 years ago
On Mon, May 09, 2022 at 08:31:16AM -0400, Tom Rix wrote:
> The clang build fails with
> mm/shmem.c:1704:7: error: variable 'folio' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
>   if (!page) {
>        ^~~~~
> The error handler for !page jumps to an if-check for an unset folio.
> So initialize folio to NULL.

I appreciate you're trying to help, but the fourth report of a problem
adds more noise than utility.

https://lore.kernel.org/linux-mm/?q=shmem+folio

shows emails about this from the cgelbot, Dan Carpenter, SeongJae Park,
Colin King, Nathan Chancellor and Sebastian Siewior.  So actually you
were seventh, not fourth.
Re: [PATCH] mm/shmem: initialize folio to NULL
Posted by Tom Rix 4 years ago
On 5/9/22 6:59 AM, Matthew Wilcox wrote:
> On Mon, May 09, 2022 at 08:31:16AM -0400, Tom Rix wrote:
>> The clang build fails with
>> mm/shmem.c:1704:7: error: variable 'folio' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
>>    if (!page) {
>>         ^~~~~
>> The error handler for !page jumps to an if-check for an unset folio.
>> So initialize folio to NULL.
> I appreciate you're trying to help, but the fourth report of a problem
> adds more noise than utility.
>
> https://lore.kernel.org/linux-mm/?q=shmem+folio
>
> shows emails about this from the cgelbot, Dan Carpenter, SeongJae Park,
> Colin King, Nathan Chancellor and Sebastian Siewior.  So actually you
> were seventh, not fourth.

 From my point of view, the build has been broken for a week.

It would be good if this and the other folio issue was fixed in 
linux-next soon.

Tom

>
Re: [PATCH] mm/shmem: initialize folio to NULL
Posted by Matthew Wilcox 4 years ago
On Mon, May 09, 2022 at 07:51:25AM -0700, Tom Rix wrote:
> 
> On 5/9/22 6:59 AM, Matthew Wilcox wrote:
> > On Mon, May 09, 2022 at 08:31:16AM -0400, Tom Rix wrote:
> > > The clang build fails with
> > > mm/shmem.c:1704:7: error: variable 'folio' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
> > >    if (!page) {
> > >         ^~~~~
> > > The error handler for !page jumps to an if-check for an unset folio.
> > > So initialize folio to NULL.
> > I appreciate you're trying to help, but the fourth report of a problem
> > adds more noise than utility.
> > 
> > https://lore.kernel.org/linux-mm/?q=shmem+folio
> > 
> > shows emails about this from the cgelbot, Dan Carpenter, SeongJae Park,
> > Colin King, Nathan Chancellor and Sebastian Siewior.  So actually you
> > were seventh, not fourth.
> 
> From my point of view, the build has been broken for a week.

Yeah, shit happens when you're trying to fix patches and attend a
conference at the same time.

> It would be good if this and the other folio issue was fixed in linux-next
> soon.

As you can see, I sent a replacement patch series on the 4th which fixes
far more than the two problems you noticed.
https://lore.kernel.org/linux-mm/20220504182857.4013401-1-willy@infradead.org/

I can do no more than this.