# Re: \[PATCH\] usbhid: fix info leak in hid\_submit\_ctrl

- From: Jiri Kosina \<jikos@kernel.org\>
- Date: 2021-05-05 12:42:51 
- List: linux-input
- Page: https://ratatoskr.run/linux-input/2021/05/6358416
- Thread: https://ratatoskr.run/linux-usb/2021/04/6349731/t.md

```text
On Sun, 25 Apr 2021, Anirudh Rayabharam wrote:

> In hid_submit_ctrl(), the way of calculating the report length doesn't
> take into account that report->size can be zero. When running the
> syzkaller reproducer, a report of size 0 causes hid_submit_ctrl) to
> calculate transfer_buffer_length as 16384. When this urb is passed to
> the usb core layer, KMSAN reports an info leak of 16384 bytes.
> 
> To fix this, first modify hid_report_len() to account for the zero
> report size case by using DIV_ROUND_UP for the division. Then, call it
> from hid_submit_ctrl().
> 
> Reported-by: <redacted>
> Signed-off-by: Anirudh Rayabharam <redacted>

Benjamin, could you please run this one through your regression testing 
machinery before we send it upstream?

Thanks,

-- 
Jiri Kosina
SUSE Labs

```
