Pavel Begunkov 05b538c176 io_uring: fix not locked access to fixed buf table
We can look inside the fixed buffer table only while holding
->uring_lock, however in some cases we don't do the right async prep for
IORING_OP_{WRITE,READ}_FIXED ending up with NULL req->imu forcing making
an io-wq worker to try to resolve the fixed buffer without proper
locking.

Move req->imu setup into early req init paths, i.e. io_prep_rw(), which
is called unconditionally for rw requests and under uring_lock.

Fixes: 634d00df5e1cf ("io_uring: add full-fledged dynamic buffers support")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
2022-06-13 09:53:41 +01:00
..
2022-03-31 15:49:36 -07:00
2022-03-22 18:26:56 -07:00
2022-03-22 18:26:56 -07:00
2022-03-22 18:26:56 -07:00
2022-05-23 13:56:39 -07:00
2022-03-22 17:03:12 -07:00
2022-01-12 11:11:34 -08:00
\n
2022-03-25 17:38:15 -07:00
2022-05-23 13:56:39 -07:00
2022-05-23 13:56:39 -07:00
2022-05-23 13:56:39 -07:00
2022-03-22 18:26:56 -07:00
2022-03-22 18:26:56 -07:00
2022-03-22 18:26:56 -07:00
2022-03-22 18:26:56 -07:00
2022-05-23 13:56:39 -07:00
2022-04-12 14:23:19 -10:00
\n
2022-03-25 17:38:15 -07:00
2022-03-22 18:26:56 -07:00
2022-05-10 13:30:32 +02:00
2022-03-22 18:26:56 -07:00
2022-03-22 18:26:56 -07:00
2022-05-23 13:56:39 -07:00
2022-05-23 14:36:45 -07:00
2022-04-01 14:40:44 -04:00
2022-03-28 17:29:53 -07:00
2022-03-24 18:12:09 -07:00
2022-03-28 17:29:53 -07:00
2022-03-08 17:55:03 -07:00
2022-04-01 19:35:56 -07:00
2022-03-22 17:03:12 -07:00
2022-03-21 19:16:02 -07:00
2022-03-26 11:59:30 -07:00
2022-03-08 17:55:03 -07:00
2022-04-19 10:19:02 -07:00
2022-04-17 19:49:59 -06:00