diff options
| author | Christoph Hellwig <hch@lst.de> | 2026-09-09 09:08:58 +0300 |
|---|---|---|
| committer | Jens Axboe <axboe@kernel.dk> | 2026-09-14 07:42:09 -0600 |
| commit | 7de79a5ffe338b959be8cd862292596ac9f7848b (patch) | |
| tree | f7f5d23bea9c0c5b749066058799b867e44ffa76 /tools/lib/python | |
| parent | 793875070ab18ce9aafd524160d8cd77ccf385d6 (diff) | |
| download | linux-next-7de79a5ffe338b959be8cd862292596ac9f7848b.tar.gz linux-next-7de79a5ffe338b959be8cd862292596ac9f7848b.zip | |
block,iomap: fix protection information verification with initial bvec offset
When reconstructing a bvec_iter from an ioend for protection information
verification, iomap currently ignores the offset into the initial
bio_vec.
This can't happen for buffered I/O or direct I/O to user addresses, but
is exercised by splice on O_DIRECT file descriptors or when using the
loop driver in direct I/O mode.
Fortunately the only file system PI user (XFS) currently always bounce
buffers, so this can't actually be triggered yet. But we'll want to make
the bounce buffering conditional soon, for which this needs to be fixed.
Store the initial offset in struct iomap_ioend, and pass a
pre-constructed bvec_iter to fs_bio_integrity_verify. For the
synchronous read case the fix is even simpler as this path can
simply stash away the original bvec_iter.
Fixes: 0bde8a12b554 ("block: add fs_bio_integrity helpers")
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Link: https://patch.msgid.link/20260909060924.1102037-10-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions
