From d5dfee96acbf422dede9dc42adf84bc1a937298c 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 Bug: 379587919 Signed-off-by: Paul Lawrence Change-Id: I3bc8037dc53e02f10c3f41de2f1176e774482815 --- drivers/md/dm-bow.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/md/dm-bow.c b/drivers/md/dm-bow.c index ca9e57d830a0..c4807e36a833 100644 --- a/drivers/md/dm-bow.c +++ b/drivers/md/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;