linux/drivers/input
Zhen Ni f5e1f3b85a Input: uinput - zero-initialize uinput_ff_upload_compat to avoid info leak
commit d3366a0477 upstream.

Struct ff_effect_compat is embedded twice inside
uinput_ff_upload_compat, contains internal padding. In particular, there
is a hole after struct ff_replay to satisfy alignment requirements for
the following union member. Without clearing the structure,
copy_to_user() may leak stack data to userspace.

Initialize ff_up_compat to zero before filling valid fields.

Fixes: 2d56f3a32c ("Input: refactor evdev 32bit compat to be shareable with uinput")
Cc: stable@vger.kernel.org
Signed-off-by: Zhen Ni <zhen.ni@easystack.cn>
Link: https://lore.kernel.org/r/20250928063737.74590-1-zhen.ni@easystack.cn
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-10-15 12:04:21 +02:00
..
gameport treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
joystick Input: xpad - add support for Flydigi Apex 5 2025-09-04 01:10:38 -07:00
keyboard Input updates for v6.17-rc5 2025-09-14 08:09:37 -07:00
misc Input: uinput - zero-initialize uinput_ff_upload_compat to avoid info leak 2025-10-15 12:04:21 +02:00
mouse Merge branch 'next' into for-linus 2025-08-06 10:08:54 -07:00
rmi4 Immutable branch between MFD, GPIO, Input and PWM due for the v6.17 merge window 2025-08-03 23:28:48 -07:00
serio Input: i8042 - add TUXEDO InfinityBook Pro Gen10 AMD to i8042 quirk table 2025-09-04 07:37:54 -07:00
tablet Input updates for v6.13-rc0 2024-11-25 10:31:39 -08:00
tests Input updates for v6.11-rc0 2024-07-19 16:51:39 -07:00
touchscreen Input: atmel_mxt_ts - allow reset GPIO to sleep 2025-10-15 12:04:21 +02:00
apm-power.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
evdev.c Input: evdev - switch matching to EV_SYN 2025-07-01 21:02:57 -07:00
ff-core.c Input: ff-core - make use of __free() cleanup facility 2024-12-23 22:53:21 -08:00
ff-memless.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
input-compat.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
input-compat.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
input-core-private.h Input: deactivate MT slots when inhibiting or suspending devices 2022-07-20 11:35:13 -07:00
input-leds.c Input: leds - change config symbol dependency for audio mute trigger 2024-03-03 14:46:06 -08:00
input-mt.c Input: mt - make use of __free() cleanup facility 2024-12-23 22:53:57 -08:00
input-poller.c Input: poller - convert locking to guard notation 2024-12-23 22:53:57 -08:00
input-poller.h Input: add support for polling to input devices 2019-08-20 12:04:07 -07:00
input.c Immutable branch between MFD, GPIO, Input and PWM due for the v6.17 merge window 2025-08-03 23:28:48 -07:00
joydev.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
Kconfig Input: remove evbug driver 2024-12-17 13:53:52 -08:00
Makefile Input: touch-overlay - add touchscreen overlay handling 2025-07-27 01:41:21 -07:00
matrix-keymap.c Input: matrix-keymap - switch to using __free() cleanup facility 2024-08-29 10:59:30 -07:00
mousedev.c *: convert stream-like files -> stream_open, even if they use noop_llseek 2019-07-14 16:09:19 +03:00
sparse-keymap.c input: sparse-keymap: use devm_kmemdup_array() 2025-02-24 12:08:52 +02:00
touch-overlay.c Input: touch-overlay - add touchscreen overlay handling 2025-07-27 01:41:21 -07:00
touchscreen.c Input: touchscreen - avoid bitwise vs logical OR warning 2021-10-15 22:22:54 -07:00
vivaldi-fmap.c Input: add missing MODULE_DESCRIPTION() macros 2024-06-09 14:38:48 -07:00