Message ID | 20221101072956.13028-1-korantwork@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | io_uring: fix two assignments in if conditions | expand |
在 2022/11/1 23:10,“kernel test robot”<lkp@intel.com> 写入: > Hi, > > Thank you for the patch! Perhaps something to improve: > > ...... > If you fix the issue, kindly add following tag where applicable > | Reported-by: kernel test robot <lkp@intel.com> > > All warnings (new ones prefixed by >>): > > >> io_uring/poll.c:601:7: warning: variable 'apoll' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] > if (entry != NULL) > ^~~~~~~~~~~~~ > io_uring/poll.c:608:2: note: uninitialized use occurs here > apoll->double_poll = NULL; > ^~~~~ > io_uring/poll.c:601:3: note: remove the 'if' if its condition is always true > if (entry != NULL) > ^~~~~~~~~~~~~~~~~~ > io_uring/poll.c:594:26: note: initialize the variable 'apoll' to silence this warning > struct async_poll *apoll; > ^ > = NULL > 1 warning generated. > > > vim +601 io_uring/poll.c > It is do a problem, I will sent v2. Thanks a lot! -- 0-DAY CI Kernel Test Service https://01.org/lkp
diff --git a/io_uring/net.c b/io_uring/net.c index 15dea91625e2..cbd655c88499 100644 --- a/io_uring/net.c +++ b/io_uring/net.c @@ -127,13 +127,15 @@ static struct io_async_msghdr *io_msg_alloc_async(struct io_kiocb *req, struct io_cache_entry *entry; struct io_async_msghdr *hdr; - if (!(issue_flags & IO_URING_F_UNLOCKED) && - (entry = io_alloc_cache_get(&ctx->netmsg_cache)) != NULL) { - hdr = container_of(entry, struct io_async_msghdr, cache); - hdr->free_iov = NULL; - req->flags |= REQ_F_ASYNC_DATA; - req->async_data = hdr; - return hdr; + if (!(issue_flags & IO_URING_F_UNLOCKED)) { + entry = io_alloc_cache_get(&ctx->netmsg_cache); + if (entry != NULL) { + hdr = container_of(entry, struct io_async_msghdr, cache); + hdr->free_iov = NULL; + req->flags |= REQ_F_ASYNC_DATA; + req->async_data = hdr; + return hdr; + } } if (!io_alloc_async_data(req)) { diff --git a/io_uring/poll.c b/io_uring/poll.c index 0d9f49c575e0..e1cb81cca44c 100644 --- a/io_uring/poll.c +++ b/io_uring/poll.c @@ -596,9 +596,10 @@ static struct async_poll *io_req_alloc_apoll(struct io_kiocb *req, if (req->flags & REQ_F_POLLED) { apoll = req->apoll; kfree(apoll->double_poll); - } else if (!(issue_flags & IO_URING_F_UNLOCKED) && - (entry = io_alloc_cache_get(&ctx->apoll_cache)) != NULL) { - apoll = container_of(entry, struct async_poll, cache); + } else if (!(issue_flags & IO_URING_F_UNLOCKED)) { + entry = io_alloc_cache_get(&ctx->apoll_cache); + if (entry != NULL) + apoll = container_of(entry, struct async_poll, cache); } else { apoll = kmalloc(sizeof(*apoll), GFP_ATOMIC); if (unlikely(!apoll))