On 1/22/23 14:03, Mikulas Patocka wrote:
The function page_address does not work with 32-bit systems with high
memory. Use bvec_kmap_local/kunmap_local instead.
Signed-off-by: Mikulas Patocka <[email protected]>
Cc: [email protected]
Reviewed-by: Sweet Tea Dorminy <[email protected]>
---
drivers/md/dm-flakey.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: bcachefs/drivers/md/dm-flakey.c
===================================================================
--- bcachefs.orig/drivers/md/dm-flakey.c 2023-01-22 16:58:40.000000000
+0100
+++ bcachefs/drivers/md/dm-flakey.c 2023-01-22 17:13:53.000000000 +0100
@@ -307,8 +307,9 @@ static void corrupt_bio_data(struct bio
struct page *page = bio_iter_page(bio, iter);
if (unlikely(page == ZERO_PAGE(0)))
break;
- segment = (page_address(page) + bio_iter_offset(bio,
iter));
+ segment = bvec_kmap_local(&bvec);
segment[corrupt_bio_byte] = fc->corrupt_bio_value;
+ kunmap_local(segment);
DMDEBUG("Corrupting data bio=%p by writing %u to byte %u
"
"(rw=%c bi_opf=%u bi_sector=%llu size=%u)\n",
bio, fc->corrupt_bio_value,
fc->corrupt_bio_byte,
--
dm-devel mailing list
[email protected]
https://listman.redhat.com/mailman/listinfo/dm-devel
--
dm-devel mailing list
[email protected]
https://listman.redhat.com/mailman/listinfo/dm-devel