Re: [PATCH v2] io_uring: fix two assignments in if conditions
From: Xinghui Li
Date: Wed Nov 02 2022 - 22:50:51 EST
在 2022/11/2 22:19,“Jens Axboe”<axboe@xxxxxxxxx> 写入:
> On 11/2/22 2:25 AM, korantwork@xxxxxxxxx wrote:
> > From: Xinghui Li <korantli@xxxxxxxxxxx>
> >
> > Fixs two error:
> >
> > "ERROR: do not use assignment in if condition
> > 130: FILE: io_uring/net.c:130:
> > + if (!(issue_flags & IO_URING_F_UNLOCKED) &&
> >
> > ERROR: do not use assignment in if condition
> > 599: FILE: io_uring/poll.c:599:
> > + } else if (!(issue_flags & IO_URING_F_UNLOCKED) &&"
> > reported by checkpatch.pl in net.c and poll.c .
>
> I'm not super excited about this patch as the previous one
> wasn't even compiled? Did you test this one, compile and runtime?
>
First of all, I'm really really really SORRY for the last stupid warning and my careless.
But I did make kernel and install it in my device. Also, I did the fio test with polling. However, there is no warning be reported by 'make' command.
But when I check the patch code with 'smatch', I did find that warning. I realized how stupid that mistake was....
So, in addition to compiling and installing this kernel, I also checked the code using the static analysis tool this time. There is no new error or warning.
"
make -j64 CHECK="~/workspace/smatch/smatch" C=1
DESCEND objtool
CALL scripts/checksyscalls.sh
CC io_uring/net.o
CC io_uring/poll.o
CHECK io_uring/poll.c
io_uring/poll.c: note: in included file (through io_uring/io_uring.h):
io_uring/slist.h:138:29: warning: no newline at end of file
CHECK io_uring/net.c
io_uring/poll.c: note: in included file (through include/trace/events/io_uring.h):
./include/linux/io_uring_types.h:151:37: warning: array of flexible structures
io_uring/net.c: note: in included file (through io_uring/io_uring.h):
io_uring/slist.h:138:29: warning: no newline at end of file
io_uring/net.c: note: in included file (through io_uring/io_uring.h):
./include/linux/io_uring_types.h:151:37: warning: array of flexible structures
...
BUILD arch/x86/boot/bzImage
Kernel: arch/x86/boot/bzImage is ready (#10)
"
Again, I am ashamed of the previous mistake. And I totally understand if you reject this one.