io_uring/cmd: consolidate REQ_F_BUFFER_SELECT checks
io_uring_cmd_prep() checks that REQ_F_BUFFER_SELECT is set in the io_kiocb's flags iff IORING_URING_CMD_MULTISHOT is set in the SQE's uring_cmd_flags. Consolidate the IORING_URING_CMD_MULTISHOT and !IORING_URING_CMD_MULTISHOT branches into a single check that the IORING_URING_CMD_MULTISHOT flag matches the REQ_F_BUFFER_SELECT flag. Signed-off-by: Caleb Sander Mateos <csander@purestorage.com> Reviewed-by: Ming Lei <ming.lei@redhat.com> Link: https://lore.kernel.org/r/20250821163308.977915-4-csander@purestorage.com Signed-off-by: Jens Axboe <axboe@kernel.dk>pull/1354/merge
parent
3484f530f8
commit
e5c717e795
|
|
@ -201,13 +201,9 @@ int io_uring_cmd_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe)
|
|||
req->buf_index = READ_ONCE(sqe->buf_index);
|
||||
}
|
||||
|
||||
if (ioucmd->flags & IORING_URING_CMD_MULTISHOT) {
|
||||
if (!(req->flags & REQ_F_BUFFER_SELECT))
|
||||
return -EINVAL;
|
||||
} else {
|
||||
if (req->flags & REQ_F_BUFFER_SELECT)
|
||||
return -EINVAL;
|
||||
}
|
||||
if (!!(ioucmd->flags & IORING_URING_CMD_MULTISHOT) !=
|
||||
!!(req->flags & REQ_F_BUFFER_SELECT))
|
||||
return -EINVAL;
|
||||
|
||||
ioucmd->cmd_op = READ_ONCE(sqe->cmd_op);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue