On 8/21/20 6:08 PM, Luke Hsiao wrote: > Hi Jakub and Jens, > > Thank you for both of your reviews. Some responses inline below. > > On Fri, Aug 21, 2020 at 2:11 PM Jens Axboe <ax...@kernel.dk> wrote: >> >> On 8/21/20 2:41 PM, Jakub Kicinski wrote: >>> On Thu, 20 Aug 2020 16:49:54 -0700 Luke Hsiao wrote: >>>> + /* If reading from MSG_ERRQUEUE using recvmsg, ignore POLLIN */ >>>> + if (req->opcode == IORING_OP_RECVMSG && (sqe->msg_flags & >>>> MSG_ERRQUEUE)) >>>> + mask &= ~(POLLIN); >>> >>> FWIW this adds another W=1 C=1 warnings to this code: >>> >>> fs/io_uring.c:4940:22: warning: invalid assignment: &= >>> fs/io_uring.c:4940:22: left side has type restricted __poll_t >>> fs/io_uring.c:4940:22: right side has type int >> >> Well, 8 or 9 of them don't really matter... This is something that should >> be cleaned up separately at some point. > > In the spirit of not adding a warning, even if it doesn't really > matter, I'd like to fix this. But, I'm struggling to reproduce these > warnings using upstream net-next and make for x86_64. With my patches > on top of net-next/master, I'm running > > $ make defconfig > $ make -j`nproc` W=1 > > I don't see the warning you mentioned in the logs. Could you tell me > how I can repro this warning?
You should see them with C=1. But as I said, don't worry about it, as that's a class of warnings and several exist already. It needs to get cleaned up separately. >>> And obviously the brackets around POLLIN are not necessary. >> >> Agree, would be cleaner without! > > Thanks, I'll also remove these unnecessary parens in v2 of the patch series. Please do, thanks! -- Jens Axboe