From 2f69b97c9deffb0e43e9d73fbaca5a0db94d52fb Mon Sep 17 00:00:00 2001 From: Paul Lawrence Date: Thu, 22 Aug 2024 08:59:42 -0700 Subject: [PATCH] ANDROID: dm-bow: Pass through zero sized requests Zero sized requests appeared in 5.15, and break validation logic in user space. Simply pass through, as there is no reason to handle. aosp/3238494 enables checkpoints on ext4 in cuttlefish, get this too With all the patches in place, run: launch_cvd \ -userdata_format="ext4" \ --data_policy=always_create --blank_data_image_mb=16000 then run atest vts_kernel_checkpoint_test Test: atest vts_kernel_checkpoint_test passes Bug: 210958368 Signed-off-by: Paul Lawrence [jh80.chung: Taken from Android Common Kernel repo] Signed-off-by: Jaehoon Chung Change-Id: I9f5613271420a533376cda1be0869b107c9a8263 --- kernel/dm-bow.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/dm-bow.c b/kernel/dm-bow.c index ea6cbf9..f8ccfad 100644 --- a/kernel/dm-bow.c +++ b/kernel/dm-bow.c @@ -1125,6 +1125,9 @@ static int dm_bow_map(struct dm_target *ti, struct bio *bio) if (bio_data_dir(bio) == READ && bio->bi_iter.bi_sector != 0) return remap_unless_illegal_trim(bc, bio); + if (bio->bi_iter.bi_size == 0) + return remap_unless_illegal_trim(bc, bio); + if (atomic_read(&bc->state) != COMMITTED) { enum state state; -- 2.34.1