Commit 29837019 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'io_uring-5.19-2022-07-08' of git://git.kernel.dk/linux-block

Pull io_uring tweak from Jens Axboe:
 "Just a minor tweak to an addition made in this release cycle: padding
  a 32-bit value that's in a 64-bit union to avoid any potential
  funkiness from that"

* tag 'io_uring-5.19-2022-07-08' of git://git.kernel.dk/linux-block:
  io_uring: explicit sqe padding for ioctl commands
parents 086ff846 bdb2c48e
...@@ -5066,7 +5066,7 @@ static int io_uring_cmd_prep(struct io_kiocb *req, ...@@ -5066,7 +5066,7 @@ static int io_uring_cmd_prep(struct io_kiocb *req,
{ {
struct io_uring_cmd *ioucmd = &req->uring_cmd; struct io_uring_cmd *ioucmd = &req->uring_cmd;
if (sqe->rw_flags) if (sqe->rw_flags || sqe->__pad1)
return -EINVAL; return -EINVAL;
ioucmd->cmd = sqe->cmd; ioucmd->cmd = sqe->cmd;
ioucmd->cmd_op = READ_ONCE(sqe->cmd_op); ioucmd->cmd_op = READ_ONCE(sqe->cmd_op);
......
...@@ -22,7 +22,10 @@ struct io_uring_sqe { ...@@ -22,7 +22,10 @@ struct io_uring_sqe {
union { union {
__u64 off; /* offset into file */ __u64 off; /* offset into file */
__u64 addr2; __u64 addr2;
__u32 cmd_op; struct {
__u32 cmd_op;
__u32 __pad1;
};
}; };
union { union {
__u64 addr; /* pointer to buffer or iovecs */ __u64 addr; /* pointer to buffer or iovecs */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment