linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH (resend)] Input: MT - limit max slots
@ 2024-07-29 12:51 Tetsuo Handa
  2024-07-29 13:05 ` Greg Kroah-Hartman
  0 siblings, 1 reply; 17+ messages in thread
From: Tetsuo Handa @ 2024-07-29 12:51 UTC (permalink / raw)
  To: Henrik Rydberg, Dmitry Torokhov, Greg Kroah-Hartman
  Cc: linux-input@vger.kernel.org, LKML, Linus Torvalds

syzbot is reporting too large allocation at input_mt_init_slots(), for
num_slots is supplied from userspace using ioctl(UI_DEV_CREATE).

Since nobody knows possible max slots, this patch chose 1024.

Reported-by: syzbot <syzbot+0122fa359a69694395d5@syzkaller.appspotmail.com>
Closes: https://syzkaller.appspot.com/bug?extid=0122fa359a69694395d5
Suggested-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
---
This patch was tested in linux-next between next-20240611 and next-20240729
via my tree. Who can take this patch? If nobody can, I will send to Linus.

 drivers/input/input-mt.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/input/input-mt.c b/drivers/input/input-mt.c
index 14b53dac1253..6b04a674f832 100644
--- a/drivers/input/input-mt.c
+++ b/drivers/input/input-mt.c
@@ -46,6 +46,9 @@ int input_mt_init_slots(struct input_dev *dev, unsigned int num_slots,
 		return 0;
 	if (mt)
 		return mt->num_slots != num_slots ? -EINVAL : 0;
+	/* Arbitrary limit for avoiding too large memory allocation. */
+	if (num_slots > 1024)
+		return -EINVAL;
 
 	mt = kzalloc(struct_size(mt, slots, num_slots), GFP_KERNEL);
 	if (!mt)
-- 
2.43.5

^ permalink raw reply related	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2024-07-30 21:52 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-29 12:51 [PATCH (resend)] Input: MT - limit max slots Tetsuo Handa
2024-07-29 13:05 ` Greg Kroah-Hartman
2024-07-29 13:15   ` Tetsuo Handa
2024-07-29 14:28     ` Greg Kroah-Hartman
2024-07-29 15:57       ` Dmitry Torokhov
2024-07-29 17:43         ` Linus Torvalds
2024-07-29 17:59           ` Dmitry Torokhov
2024-07-29 18:16             ` Linus Torvalds
2024-07-29 18:35               ` Dmitry Torokhov
2024-07-29 18:41                 ` Linus Torvalds
2024-07-29 19:12                   ` Dmitry Torokhov
2024-07-29 19:27                     ` Linus Torvalds
2024-07-29 20:00                       ` Dmitry Torokhov
2024-07-29 20:14                         ` Linus Torvalds
2024-07-29 23:17                           ` Dmitry Torokhov
2024-07-30  5:38             ` Tetsuo Handa
2024-07-30 21:52               ` Dmitry Torokhov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).