]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
squashfs: fix incorrect argument to sizeof in kmalloc_array call
authorColin Ian King <colin.i.king@gmail.com>
Tue, 8 Jul 2025 14:26:04 +0000 (15:26 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Aug 2025 14:39:16 +0000 (16:39 +0200)
[ Upstream commit 97103dcec292b8688de142f7a48bd0d46038d3f6 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/squashfs/block.c

index 296c5a0fcc406f2756edbc8b93b02a63ba42d3ed..e7a4649fc85cf46bcd9039ce54d009888997a403 100644 (file)
@@ -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(*cache_folios), GFP_KERNEL | __GFP_ZERO);
 #endif
 
        bio_for_each_folio_all(fi, fullbio) {