Hi all, On Fri, 15 Jul 2022 13:52:32 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > After merging the block tree, today's linux-next build (arm > multi_v7_defconfig) produced this warning: > > In file included from include/linux/slab.h:16, > from io_uring/net.c:5: > io_uring/net.c: In function 'io_recvmsg_multishot_overflow': > include/linux/overflow.h:67:22: warning: comparison of distinct pointer types lacks a cast > 67 | (void) (&__a == &__b); \ > | ^~ > io_uring/net.c:332:13: note: in expansion of macro 'check_add_overflow' > 332 | if (check_add_overflow(sizeof(struct io_uring_recvmsg_out), > | ^~~~~~~~~~~~~~~~~~ > include/linux/overflow.h:68:22: warning: comparison of distinct pointer types lacks a cast > 68 | (void) (&__a == __d); \ > | ^~ > io_uring/net.c:332:13: note: in expansion of macro 'check_add_overflow' > 332 | if (check_add_overflow(sizeof(struct io_uring_recvmsg_out), > | ^~~~~~~~~~~~~~~~~~ > include/linux/overflow.h:67:22: warning: comparison of distinct pointer types lacks a cast > 67 | (void) (&__a == &__b); \ > | ^~ > io_uring/net.c:335:13: note: in expansion of macro 'check_add_overflow' > 335 | if (check_add_overflow(hdr, iomsg->controllen, &hdr)) > | ^~~~~~~~~~~~~~~~~~ > > Introduced by commit > > a8b38c4ce724 ("io_uring: support multishot in recvmsg") This became a build failure in my i386 defconfig build. So I have applied the following (probably not correct) patch that makes it build. From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Fri, 15 Jul 2022 21:55:32 +1000 Subject: [PATCH] fix up for "io_uring: support multishot in recvmsg" Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> --- io_uring/net.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/io_uring/net.c b/io_uring/net.c index 616d5f04cc74..187822e18dd6 100644 --- a/io_uring/net.c +++ b/io_uring/net.c @@ -329,10 +329,10 @@ static bool io_recvmsg_multishot_overflow(struct io_async_msghdr *iomsg) { unsigned long hdr; - if (check_add_overflow(sizeof(struct io_uring_recvmsg_out), + if (check_add_overflow((unsigned long)sizeof(struct io_uring_recvmsg_out), (unsigned long)iomsg->namelen, &hdr)) return true; - if (check_add_overflow(hdr, iomsg->controllen, &hdr)) + if (check_add_overflow(hdr, (unsigned long)iomsg->controllen, &hdr)) return true; if (hdr > INT_MAX) return true; -- 2.35.1 -- Cheers, Stephen Rothwell
Attachment:
pgp5CwMbDYxOF.pgp
Description: OpenPGP digital signature