Re: [PATCH v3] Input: lpc32xx-keys - reject matrices bigger than the hardware has

From: Dmitry Torokhov

Date: Mon Nov 09 2026 - 03:07:45 EST


On Fri, Nov 06, 2026 at 09:49:28AM +0800, Guanglei Zhu wrote:
> The scanner state array holds the last state of eight matrix
> columns, and the interrupt handler walks the matrix size that the
> device tree declared:
>
> u8 lastkeystates[8];
> ...
> for (i = 0; i < kscandat->matrix_sz; i++)
> lpc32xx_mod_states(kscandat, i);
>
> The probe path only checks that rows and columns match; the
> hardware supports square matrices from 1x1 up to 8x8, but nothing
> stops a device tree from declaring more, which makes the state
> array index run past the field into the rest of the driver data -
> including the keymap pointer the same code dereferences.
>
> Reject matrices larger than the hardware supports.
>
> Fixes: 69690bec400e ("Input: add support for key scan interface of the LPC32xx SoC")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Guanglei Zhu <zhugl3@xxxxxxxxxxxx>

Applied, thank you (but dropped stable).

--
Dmitry