Since the value of bd_wb_limit is an unsigned number, when the page size is larger than 4 KB, it may cause an out-of-bounds situation. This patch fixes the issue by limiting bd_wb_limit to be an integer multiple of PAGE_SIZE / 4096. Fixes: 1d69a3f8ae77e ("zram: idle writeback fixes and cleanup") Signed-off-by: Yuwen Chen --- drivers/block/zram/zram_drv.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c index 4f2824a..4ecf2e7 100644 --- a/drivers/block/zram/zram_drv.c +++ b/drivers/block/zram/zram_drv.c @@ -562,6 +562,7 @@ static ssize_t writeback_limit_store(struct device *dev, if (kstrtoull(buf, 10, &val)) return ret; + val = val & (~((1UL << (PAGE_SHIFT - 12)) - 1)); down_read(&zram->init_lock); spin_lock(&zram->wb_limit_lock); zram->bd_wb_limit = val; -- 2.34.1