]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
Input: aiptek - validate raw macro indices before updating state
authorPengpeng Hou <pengpeng@iscas.ac.cn>
Tue, 7 Apr 2026 04:52:34 +0000 (21:52 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 7 Apr 2026 05:10:55 +0000 (22:10 -0700)
commit95dffe32a66cbed07fbfa7afed39d56d5014e04f
treef20ffda00fb5c8e66b01663935ae9c15099eb236
parentbc561dc8ba5b9fe56ed1757bdad218c9a0f992f1
Input: aiptek - validate raw macro indices before updating state

aiptek_irq() derives macro key indices directly from tablet reports and
then uses them to index macroKeyEvents[]. Report types 4 and 5 also save
the derived value in aiptek->lastMacro and later use that state to
release the previous key.

Validate the raw macro index once before it enters that state machine, so
lastMacro only ever stores an in-range macro key. Keep direct bounds
checks for report type 6, which reads the macro number from the packet
body and uses it immediately.

Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn>
Link: https://patch.msgid.link/20260329001711.88076-1-pengpeng@iscas.ac.cn
[dtor: fix macro fallback in report 5s to use -1]
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/tablet/aiptek.c