diff options
author | Jens Axboe <axboe@kernel.dk> | 2025-02-13 18:24:23 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2025-02-13 20:24:39 +0300 |
commit | d6211ebbdaa541af197b50b8dd8f22642ce0b87f (patch) | |
tree | 25299b36be5550ea2499c1cae1e8e4afc37537d8 /tools/perf/scripts/python/exported-sql-viewer.py | |
parent | 2b4fc4cd43f28e9e39179c8702e6ee821258584d (diff) | |
download | linux-d6211ebbdaa541af197b50b8dd8f22642ce0b87f.tar.xz |
io_uring/uring_cmd: unconditionally copy SQEs at prep time
This isn't generally necessary, but conditions have been observed where
SQE data is accessed from the original SQE after prep has been done and
outside of the initial issue. Opcode prep handlers must ensure that any
SQE related data is stable beyond the prep phase, but uring_cmd is a bit
special in how it handles the SQE which makes it susceptible to reading
stale data. If the application has reused the SQE before the original
completes, then that can lead to data corruption.
Down the line we can relax this again once uring_cmd has been sanitized
a bit, and avoid unnecessarily copying the SQE.
Fixes: 5eff57fa9f3a ("io_uring/uring_cmd: defer SQE copying until it's needed")
Reported-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Li Zetao <lizetao1@huawei.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'tools/perf/scripts/python/exported-sql-viewer.py')
0 files changed, 0 insertions, 0 deletions