[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240716090105.72179-1-r.smirnov@omp.ru>
Date: Tue, 16 Jul 2024 12:01:05 +0300
From: Roman Smirnov <r.smirnov@....ru>
To: Alexander Viro <viro@...iv.linux.org.uk>, Christian Brauner
<brauner@...nel.org>, Jan Kara <jack@...e.cz>
CC: Roman Smirnov <r.smirnov@....ru>, Sergey Shtylyov <s.shtylyov@....ru>,
<linux-fsdevel@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<lvc-project@...uxtesting.org>
Subject: [PATCH] fs: buffer: set the expression type to unsigned long in folio_create_buffers()
Shift without specifying the type casts the expression to int,
which is then passed as an unsigned long argument. It is necessary
to use 1UL instead.
Found by Linux Verification Center (linuxtesting.org) with Svace.
Signed-off-by: Roman Smirnov <r.smirnov@....ru>
---
fs/buffer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/buffer.c b/fs/buffer.c
index 8c19e705b9c3..40dc18f1cba5 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -1782,7 +1782,7 @@ static struct buffer_head *folio_create_buffers(struct folio *folio,
bh = folio_buffers(folio);
if (!bh)
bh = create_empty_buffers(folio,
- 1 << READ_ONCE(inode->i_blkbits), b_state);
+ 1UL << READ_ONCE(inode->i_blkbits), b_state);
return bh;
}
--
2.34.1
Powered by blists - more mailing lists