From d4099f8893b057ad7e8d61df76bdeaf807ebd679 Mon Sep 17 00:00:00 2001 From: Yu Kuai Date: Tue, 6 May 2025 14:17:55 +0800 Subject: [PATCH] brd: fix aligned_sector from brd_do_discard() The calculation is just wrong, fix it by round_up(). Fixes: 9ead7efc6f3f ("brd: implement discard support") Signed-off-by: Yu Kuai Reviewed-by: Christoph Hellwig Link: https://lore.kernel.org/r/20250506061756.2970934-3-yukuai1@huaweicloud.com Signed-off-by: Jens Axboe --- drivers/block/brd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/block/brd.c b/drivers/block/brd.c index fc793d48a9c6..2753fb21410b 100644 --- a/drivers/block/brd.c +++ b/drivers/block/brd.c @@ -166,7 +166,7 @@ static void brd_free_one_page(struct rcu_head *head) static void brd_do_discard(struct brd_device *brd, sector_t sector, u32 size) { - sector_t aligned_sector = (sector + PAGE_SECTORS) & ~PAGE_SECTORS; + sector_t aligned_sector = round_up(sector, PAGE_SECTORS); struct page *page; size -= (aligned_sector - sector) * SECTOR_SIZE; -- 2.25.1