[PATCH v5 2/4] zram: reject zero-size dictionary

From: Haoqin Huang

Date: Mon Aug 03 2026 - 11:49:27 EST


From: Haoqin Huang <haoqinhuang@xxxxxxxxxxx>

kernel_read_file_from_path() already rejects empty files (i_size <= 0)
and returns -EINVAL, but the current implementation only checks for
sz < 0 without logging any information. Use sz <= 0 to cover the
zero-size case and print an error message if dictionary loading fails.

Signed-off-by: Haoqin Huang <haoqinhuang@xxxxxxxxxxx>
Signed-off-by: Rongwei Wang <zigiwang@xxxxxxxxxxx>
---
drivers/block/zram/zram_drv.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c
index cfa98846ac48..68e60c9eb8b3 100644
--- a/drivers/block/zram/zram_drv.c
+++ b/drivers/block/zram/zram_drv.c
@@ -1700,8 +1700,12 @@ static int comp_params_store(struct zram *zram, u32 prio, s32 level,
INT_MAX,
NULL,
READING_POLICY);
- if (sz < 0)
+ if (sz <= 0) {
+ pr_err("failed to load dictionary %s (err=%zd)\n",
+ dict_path, sz);
+
return -EINVAL;
+ }
}

zram->params[prio].dict_sz = sz;
--
2.43.7