usb: usbip: Fix BUG: KASAN: slab-out-of-bounds in vhci_hub_control()
authorShuah Khan (Samsung OSG) <shuah@kernel.org>
Fri, 5 Oct 2018 22:17:44 +0000 (16:17 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 9 Oct 2018 14:13:42 +0000 (16:13 +0200)
commit81f7567c51ad97668d1c3a48e8ecc482e64d4161
treeb6ff61e20dad90a6bb9af8bb420ffd71e26a8d90
parent4b0aaacee51eb6592a03fdefd5ce97558518e291
usb: usbip: Fix BUG: KASAN: slab-out-of-bounds in vhci_hub_control()

vhci_hub_control() accesses port_status array with out of bounds port
value. Fix it to reference port_status[] only with a valid rhport value
when invalid_rhport flag is true.

The invalid_rhport flag is set early on after detecting in port value
is within the bounds or not.

The following is used reproduce the problem and verify the fix:
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=14ed8ab6400000

Reported-by: syzbot+bccc1fe10b70fadc78d0@syzkaller.appspotmail.com
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Shuah Khan (Samsung OSG) <shuah@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/usbip/vhci_hcd.c