From 228804d48ce2923c47ae3f6bdd18dc8d0f20ddbe Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Wed, 10 Jun 2020 13:56:07 -0700 Subject: [PATCH] ANDROID: dm-bow: avoid truncating the logical block size Upstream commit ad6bf88a6c19 ("block: fix an integer overflow in logical block size") changed queue_limits::logical_block_size from 'unsigned short' to 'unsigned int', and this commit has been backported to the LTS branches. Update the computation in dm_bow_io_hints() to match. This mirrors upstream commit 64611a15ca9d ("dm crypt: avoid truncating the logical block size") which fixed the same bug in dm-crypt. Fixes: 7df64f62169c ("ANDROID: dm-bow: Add block_size option") Change-Id: I45eba7d21cf178e4b8e624ef5f819a1ffb015a8d Signed-off-by: Eric Biggers --- drivers/md/dm-bow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/md/dm-bow.c b/drivers/md/dm-bow.c index dcc088d378ca..b97df090e81b 100644 --- a/drivers/md/dm-bow.c +++ b/drivers/md/dm-bow.c @@ -627,7 +627,7 @@ static void dm_bow_io_hints(struct dm_target *ti, struct queue_limits *limits) const unsigned int block_size = bc->block_size; limits->logical_block_size = - max_t(unsigned short, limits->logical_block_size, block_size); + max_t(unsigned int, limits->logical_block_size, block_size); limits->physical_block_size = max_t(unsigned int, limits->physical_block_size, block_size); limits->io_min = max_t(unsigned int, limits->io_min, block_size);