On 08/07/2025 15:26, Colin Ian King wrote:
The sizeof(void *) is the incorrect argument in the kmalloc_array call,
it best to fix this by using sizeof(*folio) instead. Fortunately the
sizes of void * and *folio happen to be the same, so this has not shown
up as a run time issue.
Fixes: 2e227ff5e272 ("squashfs: add optional full compressed block caching")
Signed-off-by: Colin Ian King <colin.i.king@xxxxxxxxx>
Thanks
Reviewed-by: Phillip Lougher <phillip@xxxxxxxxxxxxxxx>
---
fs/squashfs/block.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/squashfs/block.c b/fs/squashfs/block.c
index b3ae3b1cc0e5..00049b7b10c8 100644
--- a/fs/squashfs/block.c
+++ b/fs/squashfs/block.c
@@ -89,7 +89,7 @@ static int squashfs_bio_read_cached(struct bio *fullbio,
int err = 0;
#ifdef CONFIG_SQUASHFS_COMP_CACHE_FULL
struct folio **cache_folios = kmalloc_array(page_count,
- sizeof(void *), GFP_KERNEL | __GFP_ZERO);
+ sizeof(*folio), GFP_KERNEL | __GFP_ZERO);
#endif
bio_for_each_folio_all(fi, fullbio) {