Re: linux-next: build warnings after merge of the block tree

From: Jens Axboe
Date: Tue Feb 06 2024 - 09:54:18 EST


On 2/6/24 6:42 AM, Geert Uytterhoeven wrote:
> On Tue, Feb 6, 2024 at 12:12 PM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
>> On Tue, Feb 6, 2024 at 3:11 AM Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>>> After merging the block tree, today's linux-next build (arm
>>> multi_v7_defconfig) produced these warnings:
>>>
>>> In file included from /home/sfr/next/next/include/linux/bits.h:6,
>>> from /home/sfr/next/next/include/linux/bitops.h:6,
>>> from /home/sfr/next/next/include/linux/kernel.h:23,
>>> from /home/sfr/next/next/io_uring/nop.c:2:
>>> /home/sfr/next/next/include/vdso/bits.h:7:40: warning: left shift count >= width of type [-Wshift-count-overflow]
>>> 7 | #define BIT(nr) (UL(1) << (nr))
>>> | ^~
>>> /home/sfr/next/next/include/linux/io_uring_types.h:538:35: note: in expansion of macro 'BIT'
>>> 538 | REQ_F_CAN_POLL = BIT(REQ_F_CAN_POLL_BIT),
>>> | ^~~
>>>
>>> (and mny more similar)
>>>
>>> Introduced by commit
>>>
>>> d964e8440442 ("io_uring: add io_file_can_poll() helper")
>>>
>>> REQ_F_CAN_POLL_BIT is 32.
>>
>> All of these BIT() have to be changed to BIT_ULL().
>> And let's hope all variables used for storing these flags have been
>> changed from unsigned long to u64...
>
> I have sent a fix
> https://lore.kernel.org/1960190f37b94276df50d382b9f1488cd6b6e662.1707226862.git.geert+renesas@xxxxxxxxx

It needs a bit more than that, just because there's one helper that
also returns flags to be set. I've sorted it out and amended the commit,
should be fine now. I'll check on 32-bit as well.

--
Jens Axboe