]> xenbits.xensource.com Git - people/jgross/linux.git/commitdiff
sh: sq: Fix incorrect element size for allocating bitmap buffer
authorJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Wed, 19 Apr 2023 11:48:52 +0000 (13:48 +0200)
committerJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Wed, 19 Apr 2023 13:55:30 +0000 (15:55 +0200)
The Store Queue code allocates a bitmap buffer with the size of
multiple of sizeof(long) in sq_api_init(). While the buffer size
is calculated correctly, the code uses the wrong element size to
allocate the buffer which results in the allocated bitmap buffer
being too small.

Fix this by allocating the buffer with kcalloc() with element size
sizeof(long) instead of kzalloc() whose elements size defaults to
sizeof(char).

Fixes: d7c30c682a27 ("sh: Store Queue API rework.")
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Link: https://lore.kernel.org/r/20230419114854.528677-1-glaubitz@physik.fu-berlin.de
arch/sh/kernel/cpu/sh4/sq.c

index 27f2e3da5aa22c1537014d69b2cd77a0d27c4ef6..6e0bb3f47fa5def40856c55f288a87a36089c1ba 100644 (file)
@@ -382,7 +382,7 @@ static int __init sq_api_init(void)
        if (unlikely(!sq_cache))
                return ret;
 
-       sq_bitmap = kzalloc(size, GFP_KERNEL);
+       sq_bitmap = kcalloc(size, sizeof(long), GFP_KERNEL);
        if (unlikely(!sq_bitmap))
                goto out;