Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

squashfs: fix incorrect argument to sizeof in kmalloc_array call

The sizeof(void *) is the incorrect argument in the kmalloc_array call, it
best to fix this by using sizeof(*cache_folios) instead.

Fortunately the sizes of void* and folio* happen to be the same, so this
has not shown up as a run time issue.

[akpm@linux-foundation.org: fix build]
Link: https://lkml.kernel.org/r/20250708142604.1891156-1-colin.i.king@gmail.com
Fixes: 2e227ff5e272 ("squashfs: add optional full compressed block caching")
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Cc: Phillip Lougher <phillip@squashfs.org.uk>
Cc: Chanho Min <chanho.min@lge.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

authored by

Colin Ian King and committed by
Andrew Morton
97103dce c0f98be6

+1 -1
+1 -1
fs/squashfs/block.c
··· 89 89 int err = 0; 90 90 #ifdef CONFIG_SQUASHFS_COMP_CACHE_FULL 91 91 struct folio **cache_folios = kmalloc_array(page_count, 92 - sizeof(void *), GFP_KERNEL | __GFP_ZERO); 92 + sizeof(*cache_folios), GFP_KERNEL | __GFP_ZERO); 93 93 #endif 94 94 95 95 bio_for_each_folio_all(fi, fullbio) {