diff options
author | Will McVicker <willmcvicker@google.com> | 2020-12-05 01:48:48 +0100 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2021-01-18 09:09:57 +0100 |
commit | ed9be64eefe26d7d8b0b5b9fa3ffdf425d87a01f (patch) | |
tree | 69719f3d0c6436c8d4a21e506872dede9374f5be /drivers/hid/hid-input.c | |
parent | HID: core: detect and skip invalid inputs to snto32() (diff) | |
download | linux-ed9be64eefe26d7d8b0b5b9fa3ffdf425d87a01f.tar.xz linux-ed9be64eefe26d7d8b0b5b9fa3ffdf425d87a01f.zip |
HID: make arrays usage and value to be the same
The HID subsystem allows an "HID report field" to have a different
number of "values" and "usages" when it is allocated. When a field
struct is created, the size of the usage array is guaranteed to be at
least as large as the values array, but it may be larger. This leads to
a potential out-of-bounds write in
__hidinput_change_resolution_multipliers() and an out-of-bounds read in
hidinput_count_leds().
To fix this, let's make sure that both the usage and value arrays are
the same size.
Cc: stable@vger.kernel.org
Signed-off-by: Will McVicker <willmcvicker@google.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-input.c')
0 files changed, 0 insertions, 0 deletions