]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
Input: uinput - reject requests with unreasonable number of slots
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 5 Aug 2024 00:50:25 +0000 (17:50 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Sep 2024 09:11:39 +0000 (11:11 +0200)
commita4858b00a1ec57043697fb935565fe267f161833
treee9eaa46b2a9700283a43073d8c8b95d376d53ac0
parent60dc4ee0428d70bcbb41436b6729d29f1cbdfb89
Input: uinput - reject requests with unreasonable number of slots

[ Upstream commit 206f533a0a7c683982af473079c4111f4a0f9f5e ]

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>

When exercising uinput interface syzkaller may try setting up device
with a really large number of slots, which causes memory allocation
failure in input_mt_init_slots(). While this allocation failure is
handled properly and request is rejected, it results in syzkaller
reports. Additionally, such request may put undue burden on the
system which will try to free a lot of memory for a bogus request.

Fix it by limiting allowed number of slots to 100. This can easily
be extended if we see devices that can track more than 100 contacts.

Reported-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Reported-by: syzbot <syzbot+0122fa359a69694395d5@syzkaller.appspotmail.com>
Closes: https://syzkaller.appspot.com/bug?extid=0122fa359a69694395d5
Link: https://lore.kernel.org/r/Zqgi7NYEbpRsJfa2@google.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/input/misc/uinput.c