diff options
author | Alan Stern <stern@rowland.harvard.edu> | 2025-07-23 17:37:04 +0300 |
---|---|---|
committer | Benjamin Tissoires <bentiss@kernel.org> | 2025-07-25 14:45:25 +0300 |
commit | a6b87bfc2ab5bccb7ad953693c85d9062aef3fdd (patch) | |
tree | d6a04b6df6860716cf58ee1480ada22c0875fcdc /scripts/lib/kdoc/kdoc_files.py | |
parent | 12f33ef6c2aaa410b7ccf039289fe2b04ab2252f (diff) | |
download | linux-a6b87bfc2ab5bccb7ad953693c85d9062aef3fdd.tar.xz |
HID: core: Harden s32ton() against conversion to 0 bits
Testing by the syzbot fuzzer showed that the HID core gets a
shift-out-of-bounds exception when it tries to convert a 32-bit
quantity to a 0-bit quantity. Ideally this should never occur, but
there are buggy devices and some might have a report field with size
set to zero; we shouldn't reject the report or the device just because
of that.
Instead, harden the s32ton() routine so that it returns a reasonable
result instead of crashing when it is called with the number of bits
set to 0 -- the same as what snto32() does.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Reported-by: syzbot+b63d677d63bcac06cf90@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/linux-usb/68753a08.050a0220.33d347.0008.GAE@google.com/
Tested-by: syzbot+b63d677d63bcac06cf90@syzkaller.appspotmail.com
Fixes: dde5845a529f ("[PATCH] Generic HID layer - code split")
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/613a66cd-4309-4bce-a4f7-2905f9bce0c9@rowland.harvard.edu
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
Diffstat (limited to 'scripts/lib/kdoc/kdoc_files.py')
0 files changed, 0 insertions, 0 deletions