On 5/27/19 4:08 AM, Dan Carpenter wrote: > Hello Jens Axboe, > > The patch f3fafe4103bd: "io_uring: add support for sqe links" from > May 10, 2019, leads to the following static checker warning: > > fs/io_uring.c:623 io_req_link_next() > error: potential NULL dereference 'nxt'. > > fs/io_uring.c > 614 static void io_req_link_next(struct io_kiocb *req) > 615 { > 616 struct io_kiocb *nxt; > 617 > 618 nxt = list_first_entry_or_null(&req->link_list, struct io_kiocb, list); > 619 list_del(&nxt->list); > ^^^^^^^^^ > The warning is a false positive but this is a NULL dereference. > > 620 if (!list_empty(&req->link_list)) { > 621 INIT_LIST_HEAD(&nxt->link_list); > ^^^^^ > False positive. Both of them are false positives. I can work around them though, as it probably makes it a bit cleaner, too. > > 622 list_splice(&req->link_list, &nxt->link_list); > 623 nxt->flags |= REQ_F_LINK; > 624 } > 625 > 626 INIT_WORK(&nxt->work, io_sq_wq_submit_work); > ^^^^^^^^^^ > 627 queue_work(req->ctx->sqo_wq, &nxt->work); > ^^^^^^^^^^ > Other bugs. Not sure what that means? -- Jens Axboe