io_uring: allow SQPOLL without CAP_SYS_ADMIN or CAP_SYS_NICE
authorJens Axboe <axboe@kernel.dk>
Thu, 25 Mar 2021 16:21:35 +0000 (10:21 -0600)
committerJens Axboe <axboe@kernel.dk>
Sun, 11 Apr 2021 23:42:00 +0000 (17:42 -0600)
Now that we have any worker being attached to the original task as
threads, accounting of CPU time is directly attributed to the original
task as well. This means that we no longer have to restrict SQPOLL to
needing elevated privileges, as it's really no different from just having
the task spawn a busy looping thread in userspace.

Reported-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c

index 9a85042..852f9e9 100644 (file)
@@ -8011,10 +8011,6 @@ static int io_sq_offload_create(struct io_ring_ctx *ctx,
                struct io_sq_data *sqd;
                bool attached;
 
-               ret = -EPERM;
-               if (!capable(CAP_SYS_ADMIN) && !capable(CAP_SYS_NICE))
-                       goto err;
-
                sqd = io_get_sq_data(p, &attached);
                if (IS_ERR(sqd)) {
                        ret = PTR_ERR(sqd);