diff options
author | Christoph Hellwig <[email protected]> | 2023-08-05 07:55:37 +0200 |
---|---|---|
committer | Jens Axboe <[email protected]> | 2023-08-05 16:13:15 -0600 |
commit | 95848dcb9d676738411a8ff70a9704039f1b3982 (patch) | |
tree | 685aae478a33f338677ec4e06c073173d1273c4b /scripts/gdb/linux/vmalloc.py | |
parent | a592ab6171bd943ce3b988bd271c79fe275a7bec (diff) |
zram: take device and not only bvec offset into account
Commit af8b04c63708 ("zram: simplify bvec iteration in
__zram_make_request") changed the bio iteration in zram to rely on the
implicit capping to page boundaries in bio_for_each_segment. But it
failed to care for the fact zram not only care about the page alignment
of the bio payload, but also the page alignment into the device. For
buffered I/O and swap those are the same, but for direct I/O or kernel
internal I/O like XFS log buffer writes they can differ.
Fix this by open coding bio_for_each_segment and limiting the bvec len
so that it never crosses over a page alignment boundary in the device
in addition to the payload boundary already taken care of by
bio_iter_iovec.
Cc: [email protected]
Fixes: af8b04c63708 ("zram: simplify bvec iteration in __zram_make_request")
Reported-by: Dusty Mabe <[email protected]>
Signed-off-by: Christoph Hellwig <[email protected]>
Acked-by: Sergey Senozhatsky <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'scripts/gdb/linux/vmalloc.py')
0 files changed, 0 insertions, 0 deletions