erofs-utils: lib: fix inappropriate initialization in cache.c
authorHongzhen Luo <hongzhen@linux.alibaba.com>
Mon, 3 Mar 2025 05:42:53 +0000 (13:42 +0800)
committerGao Xiang <hsiangkao@linux.alibaba.com>
Sat, 5 Apr 2025 16:25:21 +0000 (00:25 +0800)
This patch fixes the inappropriate initialization of `dsunit` and
`bktmap` in cache.c.

Fixes: 8bb6de4e7c41 ("erofs-utils: mkfs: support data alignment")
Fixes: ca0f040f98b6 ("erofs-utils: lib: use bitmaps to accelerate bucket selection")
Signed-off-by: Hongzhen Luo <hongzhen@linux.alibaba.com>
Link: https://lore.kernel.org/r/20250303054253.1154648-1-hongzhen@linux.alibaba.com
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
lib/cache.c

index ca1061bc7f2951893ad182d9797cb34fc1168168..eddf21f49893eef6edd28e32d317caf8ad2fb441 100644 (file)
@@ -44,13 +44,15 @@ struct erofs_bufmgr *erofs_buffer_init(struct erofs_sb_info *sbi,
                for (j = 0; j < ARRAY_SIZE(bmgr->watermeter[0]); j++) {
                        for (k = 0; k < blksiz; k++)
                                init_list_head(&bmgr->watermeter[i][j][k]);
-                       memset(bmgr->bktmap[i][j], 0, blksiz / BITS_PER_LONG);
+                       memset(bmgr->bktmap[i][j], 0,
+                              (blksiz / BITS_PER_LONG) * sizeof(unsigned long));
                }
        }
        init_list_head(&bmgr->blkh.list);
        bmgr->blkh.blkaddr = NULL_ADDR;
        bmgr->tail_blkaddr = startblk;
        bmgr->last_mapped_block = &bmgr->blkh;
+       bmgr->dsunit = 0;
        return bmgr;
 }