From 77eb64439ad52d8afb57bb4dae24a2743c68f50d Mon Sep 17 00:00:00 2001 From: Pankaj Raghav Date: Thu, 26 Jun 2025 13:32:23 +0200 Subject: fs/buffer: remove the min and max limit checks in __getblk_slow() All filesystems will already check the max and min value of their block size during their initialization. __getblk_slow() is a very low-level function to have these checks. Remove them and only check for logical block size alignment. As this check with logical block size alignment might never trigger, add WARN_ON_ONCE() to the check. As WARN_ON_ONCE() will already print the stack, remove the call to dump_stack(). Suggested-by: Matthew Wilcox Reviewed-by: Jan Kara Signed-off-by: Pankaj Raghav Link: https://lore.kernel.org/20250626113223.181399-1-p.raghav@samsung.com Reviewed-by: Baokun Li Signed-off-by: Christian Brauner --- fs/buffer.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'fs/buffer.c') diff --git a/fs/buffer.c b/fs/buffer.c index d61073143127..565fe88773c2 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -1122,14 +1122,9 @@ __getblk_slow(struct block_device *bdev, sector_t block, { bool blocking = gfpflags_allow_blocking(gfp); - if (unlikely(size & (bdev_logical_block_size(bdev) - 1) || - (size < 512 || size > PAGE_SIZE))) { - printk(KERN_ERR "getblk(): invalid block size %d requested\n", - size); - printk(KERN_ERR "logical block size: %d\n", - bdev_logical_block_size(bdev)); - - dump_stack(); + if (WARN_ON_ONCE(!IS_ALIGNED(size, bdev_logical_block_size(bdev)))) { + printk(KERN_ERR "getblk(): block size %d not aligned to logical block size %d\n", + size, bdev_logical_block_size(bdev)); return NULL; } -- cgit