diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-09-09 08:36:23 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-09-09 08:36:23 +0200 |
| commit | 895b4fae931a256f6c7c6c68f77a8e337980b5a1 (patch) | |
| tree | 4e01d0293b8caee875fb7938d26ba9e0a572b314 /drivers/input/misc | |
| parent | 72486eb13b254d0bee637a947f9ec46d01c37f04 (diff) | |
| parent | da3ea35007d0af457a0afc87e84fddaebc4e0b63 (diff) | |
Merge 6.11-rc7 into char-misc-next
We need the char-misc fixes in here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/input/misc')
| -rw-r--r-- | drivers/input/misc/uinput.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c index d23f3225b00f..445856c9127a 100644 --- a/drivers/input/misc/uinput.c +++ b/drivers/input/misc/uinput.c @@ -417,6 +417,20 @@ static int uinput_validate_absinfo(struct input_dev *dev, unsigned int code, return -EINVAL; } + /* + * Limit number of contacts to a reasonable value (100). This + * ensures that we need less than 2 pages for struct input_mt + * (we are not using in-kernel slot assignment so not going to + * allocate memory for the "red" table), and we should have no + * trouble getting this much memory. + */ + if (code == ABS_MT_SLOT && max > 99) { + printk(KERN_DEBUG + "%s: unreasonably large number of slots requested: %d\n", + UINPUT_NAME, max); + return -EINVAL; + } + return 0; } |
