Re: [PATCH] s390/keyboard: Allocate key_maps and func_table with ARRAY_SIZE()

From: Heiko Carstens

Date: Fri Sep 18 2026 - 06:23:53 EST


On Thu, Sep 17, 2026 at 02:12:40PM -0700, Kees Cook wrote:
> From: Kees Cook <kees+treewide@xxxxxxxxxx>
>
> In preparation for converting the kmalloc family of allocators to the
> type-aware kmalloc_obj family, we need to make sure that the returned
> type from the allocation matches the type of the variable being
> assigned. (The kmalloc family returns "void *", which can be implicitly
> cast to any pointer type.)
>
> These allocate as many pointers as ebc_key_maps and ebc_func_table hold,
> but the sizes were taken from the whole arrays, which would make the
> allocation types pointers to those arrays rather than the "u_short **"
> and "char **" being assigned. Allocate ARRAY_SIZE-many entries instead.
> The resulting allocation sizes are the same.
>
> Build tested ARCH=s390 allmodconfig with GCC s390x-linux-gnu 16.1.0:
> drivers/s390/char/keyboard.o
>
> Assisted-by: LLM coccinelle
> Signed-off-by: Kees Cook <kees+treewide@xxxxxxxxxx>
> ---
> Cc: Heiko Carstens <hca@xxxxxxxxxxxxx>
> Cc: Vasily Gorbik <gor@xxxxxxxxxxxxx>
> Cc: Alexander Gordeev <agordeev@xxxxxxxxxxxxx>
> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxxxxx>
> Cc: Sven Schnelle <svens@xxxxxxxxxxxxx>
> Cc: <linux-s390@xxxxxxxxxxxxxxx>
> ---
> drivers/s390/char/keyboard.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)

Applied, thanks!