summaryrefslogtreecommitdiff
path: root/scripts/atomic/git@git.tavy.me:linux.git
diff options
context:
space:
mode:
authorKwok Kin Ming <kenkinming2002@gmail.com>2026-01-01 02:18:26 +0800
committerBenjamin Tissoires <bentiss@kernel.org>2026-01-07 18:35:58 +0100
commit2497ff38c530b1af0df5130ca9f5ab22c5e92f29 (patch)
tree4ceb17903fdf8cfb24a83b0fd3fefd45ec90cac3 /scripts/atomic/git@git.tavy.me:linux.git
parentf287ba5951a4b3a47305b64a3fcde5d0911adb9b (diff)
HID: i2c-hid: fix potential buffer overflow in i2c_hid_get_report()
`i2c_hid_xfer` is used to read `recv_len + sizeof(__le16)` bytes of data into `ihid->rawbuf`. The former can come from the userspace in the hidraw driver and is only bounded by HID_MAX_BUFFER_SIZE(16384) by default (unless we also set `max_buffer_size` field of `struct hid_ll_driver` which we do not). The latter has size determined at runtime by the maximum size of different report types you could receive on any particular device and can be a much smaller value. Fix this by truncating `recv_len` to `ihid->bufsize - sizeof(__le16)`. The impact is low since access to hidraw devices requires root. Signed-off-by: Kwok Kin Ming <kenkinming2002@gmail.com> Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
Diffstat (limited to 'scripts/atomic/git@git.tavy.me:linux.git')
0 files changed, 0 insertions, 0 deletions