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@xxxxxx> --- 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