diff mbox series

sh: sq: Fix incorrect element size for allocating bitmap buffer

Message ID 20230419114854.528677-1-glaubitz@physik.fu-berlin.de (mailing list archive)
State New, archived
Headers show
Series sh: sq: Fix incorrect element size for allocating bitmap buffer | expand

Commit Message

John Paul Adrian Glaubitz April 19, 2023, 11:48 a.m. UTC
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.")
Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
---
 arch/sh/kernel/cpu/sh4/sq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Geert Uytterhoeven April 19, 2023, 11:58 a.m. UTC | #1
On Wed, Apr 19, 2023 at 1:55 PM John Paul Adrian Glaubitz
<glaubitz@physik.fu-berlin.de> wrote:
> 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.")
> Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert
diff mbox series

Patch

diff --git a/arch/sh/kernel/cpu/sh4/sq.c b/arch/sh/kernel/cpu/sh4/sq.c
index 27f2e3da5aa2..6e0bb3f47fa5 100644
--- a/arch/sh/kernel/cpu/sh4/sq.c
+++ b/arch/sh/kernel/cpu/sh4/sq.c
@@ -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;