case IORING_OP_WRITEV:
                case IORING_OP_WRITE_FIXED:
                        do_hashed = true;
+                       /* fall-through */
+               case IORING_OP_READV:
+               case IORING_OP_READ_FIXED:
+               case IORING_OP_SENDMSG:
+               case IORING_OP_RECVMSG:
+               case IORING_OP_ACCEPT:
+               case IORING_OP_POLL_ADD:
+                       /*
+                        * We know REQ_F_ISREG is not set on some of these
+                        * opcodes, but this enables us to keep the check in
+                        * just one place.
+                        */
+                       if (!(req->flags & REQ_F_ISREG))
+                               req->work.flags |= IO_WQ_WORK_UNBOUND;
                        break;
                }
                if (io_sqe_needs_user(req->submit.sqe))
 
        /* Do QD, or 4 * CPUS, whatever is smallest */
        concurrency = min(ctx->sq_entries, 4 * num_online_cpus());
-       ctx->io_wq = io_wq_create(concurrency, ctx->sqo_mm, NULL);
+       ctx->io_wq = io_wq_create(concurrency, ctx->sqo_mm, ctx->user);
        if (IS_ERR(ctx->io_wq)) {
                ret = PTR_ERR(ctx->io_wq);
                ctx->io_wq = NULL;