mirror of https://gitee.com/openkylin/linux.git
io_uring: remove bogus RLIMIT_NOFILE check in file registration
We already checked this limit when the file was opened, and we keep it open in the file table. Hence when we added unit_inflight to the count we want to register, we're doubly accounting these files. This results in -EMFILE for file registration, if we're at half the limit. Cc: stable@vger.kernel.org # v5.1+ Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
aa96bf8a9e
commit
c336e992cb
|
@ -6216,13 +6216,6 @@ static int __io_sqe_files_scm(struct io_ring_ctx *ctx, int nr, int offset)
|
||||||
struct sk_buff *skb;
|
struct sk_buff *skb;
|
||||||
int i, nr_files;
|
int i, nr_files;
|
||||||
|
|
||||||
if (!capable(CAP_SYS_RESOURCE) && !capable(CAP_SYS_ADMIN)) {
|
|
||||||
unsigned long inflight = ctx->user->unix_inflight + nr;
|
|
||||||
|
|
||||||
if (inflight > task_rlimit(current, RLIMIT_NOFILE))
|
|
||||||
return -EMFILE;
|
|
||||||
}
|
|
||||||
|
|
||||||
fpl = kzalloc(sizeof(*fpl), GFP_KERNEL);
|
fpl = kzalloc(sizeof(*fpl), GFP_KERNEL);
|
||||||
if (!fpl)
|
if (!fpl)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
Loading…
Reference in New Issue