[PATCH 0/4] ublk: fix struct ublksrv_ctrl_cmd accesses

Caleb Sander Mateos posted 4 patches 1 week, 2 days ago
There is a newer version of this series
drivers/block/ublk_drv.c | 163 +++++++++++++++++++--------------------
1 file changed, 80 insertions(+), 83 deletions(-)
[PATCH 0/4] ublk: fix struct ublksrv_ctrl_cmd accesses
Posted by Caleb Sander Mateos 1 week, 2 days ago
struct ublksrv_ctrl_cmd is part of the io_uring_sqe. Since commit
87213b0d847c ("ublk: allow non-blocking ctrl cmds in IO_URING_F_NONBLOCK
issue") allowed some commands to be handled in the non-blocking issue,
the SQE may lie in userspace-mapped memory. Validate that the SQE size
is the expected 128 bytes before dereferencing it. Access the
ublksrv_ctrl_cmd fields with READ_ONCE(), as userspace may write to them
concurrently.

Caleb Sander Mateos (3):
  ublk: don't write to struct ublksrv_ctrl_cmd
  ublk: use READ_ONCE() to read struct ublksrv_ctrl_cmd
  ublk: drop ublk_ctrl_{start,end}_recovery() header argument

Govindarajulu Varadarajan (1):
  ublk: Validate SQE128 flag before accessing the cmd

 drivers/block/ublk_drv.c | 163 +++++++++++++++++++--------------------
 1 file changed, 80 insertions(+), 83 deletions(-)

-- 
2.45.2