[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20201229071309.18418-1-rdunlap@infradead.org>
Date: Mon, 28 Dec 2020 23:13:09 -0800
From: Randy Dunlap <rdunlap@...radead.org>
To: linux-kernel@...r.kernel.org
Cc: Randy Dunlap <rdunlap@...radead.org>,
syzbot+297d20e437b79283bf6d@...kaller.appspotmail.com,
Yuyang Du <yuyang.du@...el.com>,
Shuah Khan <shuahkh@....samsung.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
linux-usb@...r.kernel.org
Subject: [PATCH] usb: usbip: vhci_hcd: protect shift size
Fix shift out-of-bounds in vhci_hcd.c:
UBSAN: shift-out-of-bounds in ../drivers/usb/usbip/vhci_hcd.c:399:41
shift exponent 768 is too large for 32-bit type 'int'
Fixes: 03cd00d538a6 ("usbip: vhci-hcd: Set the vhci structure up to work")
Signed-off-by: Randy Dunlap <rdunlap@...radead.org>
Reported-by: syzbot+297d20e437b79283bf6d@...kaller.appspotmail.com
Cc: Yuyang Du <yuyang.du@...el.com>
Cc: Shuah Khan <shuahkh@....samsung.com>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: linux-usb@...r.kernel.org
---
drivers/usb/usbip/vhci_hcd.c | 2 ++
1 file changed, 2 insertions(+)
--- linux-5.10.orig/drivers/usb/usbip/vhci_hcd.c
+++ linux-5.10/drivers/usb/usbip/vhci_hcd.c
@@ -396,6 +396,8 @@ static int vhci_hub_control(struct usb_h
default:
usbip_dbg_vhci_rh(" ClearPortFeature: default %x\n",
wValue);
+ if (wValue >= 32)
+ goto error;
vhci_hcd->port_status[rhport] &= ~(1 << wValue);
break;
}
Powered by blists - more mailing lists