[PATCH v5 0/2] Input: synaptics-rmi4 - fix two device-controlled out-of-bounds writes

From: Wei Jie Law

Date: Sun Oct 11 2026 - 04:37:46 EST


Two fixes for out-of-bounds writes in the RMI4 core that a device can
trigger through its Page Description Table.

1/2 rejects functions declaring 7 interrupt sources, a value the RMI4
specification reserves; the driver otherwise writes past fn->irq[].

2/2 rejects a PDT whose interrupt counts grow between the counting scan
and the function-creating scan; the driver otherwise sets bits past the
end of fn->irq_mask[].

Changes in v5:
- 1/2: keep RMI_FN_MAX_IRQS at 6 and reject a count of 7 in
rmi_scan_pdt_page(), after the RMI4_END_OF_PDT() check, instead of
growing irq[] (Dmitry). New subject.
- 2/2: unchanged.

v4: https://lore.kernel.org/linux-input/20260825103123.12216-1-98lawweijie@xxxxxxxxx/

Wei Jie Law (2):
Input: synaptics-rmi4 - reject functions with more than 6 interrupt
sources
Input: synaptics-rmi4 - reject a PDT that grows between scans

drivers/input/rmi4/rmi_driver.c | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

--
2.43.0