On 7/8/22 12:18 PM, Dylan Yudaken wrote: > These are some preparatory cleanups that are separate but required for a > later series doing multishot recvmsg (will post this shortly). > > Patches: > 1: fixes a bug where a socket may receive data before polling > 2: makes a similar change to compat logic for providing no iovs > for buffer_select > 3/4: move the recycling logic into the io_uring main framework which makes > it a bit easier for recvmsg multishot Applied 1-2, because I don't think the cleanup is necessarily correct. Do we always hold ctx->uring_lock for io_clean_op()? I can see two ways in there - one we definitely do, but from the __io_req_complete_put() or io_free_req() path that doesn't seem to be the case. Hmm? -- Jens Axboe