]> git.baikalelectronics.ru Git - kernel.git/commit
io_uring: ensure we return -EINVAL on unknown opcode
authorJens Axboe <axboe@kernel.dk>
Wed, 11 Dec 2019 22:55:43 +0000 (15:55 -0700)
committerJens Axboe <axboe@kernel.dk>
Wed, 11 Dec 2019 23:02:32 +0000 (16:02 -0700)
commit5a277df0fee36b838a041d189298c96a8f7d1e31
tree69e498284ebc5e6887af645fc78a56498317282b
parentf98f503699901a2078b108c6db7fddd454388fca
io_uring: ensure we return -EINVAL on unknown opcode

If we submit an unknown opcode and have fd == -1, io_op_needs_file()
will return true as we default to needing a file. Then when we go and
assign the file, we find the 'fd' invalid and return -EBADF. We really
should be returning -EINVAL for that case, as we normally do for
unsupported opcodes.

Change io_op_needs_file() to have the following return values:

0   - does not need a file
1   - does need a file
< 0 - error value

and use this to pass back the right value for this invalid case.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c
include/uapi/linux/io_uring.h