Re: [PATCH 5.14 165/169] usbnet: sanity check for maxpacket

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Oct 25, 2021 at 09:15:46PM +0200, Greg Kroah-Hartman wrote:
> From: Oliver Neukum <oneukum@xxxxxxxx>
> 
> commit 397430b50a363d8b7bdda00522123f82df6adc5e upstream.
> 
> maxpacket of 0 makes no sense and oopses as we need to divide
> by it. Give up.
> 
> V2: fixed typo in log and stylistic issues
> 
> Signed-off-by: Oliver Neukum <oneukum@xxxxxxxx>
> Reported-by: syzbot+76bb1d34ffa0adc03baa@xxxxxxxxxxxxxxxxxxxxxxxxx
> Reviewed-by: Johan Hovold <johan@xxxxxxxxxx>
> Link: https://lore.kernel.org/r/20211021122944.21816-1-oneukum@xxxxxxxx
> Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

Please drop this one from all stable queues until

	https://lore.kernel.org/r/20211026124015.3025136-1-wanghai38@xxxxxxxxxx

has landed.

> ---
>  drivers/net/usb/usbnet.c |    4 ++++
>  1 file changed, 4 insertions(+)
> 
> --- a/drivers/net/usb/usbnet.c
> +++ b/drivers/net/usb/usbnet.c
> @@ -1788,6 +1788,10 @@ usbnet_probe (struct usb_interface *udev
>  	if (!dev->rx_urb_size)
>  		dev->rx_urb_size = dev->hard_mtu;
>  	dev->maxpacket = usb_maxpacket (dev->udev, dev->out, 1);
> +	if (dev->maxpacket == 0) {
> +		/* that is a broken device */
> +		goto out4;
> +	}
>  
>  	/* let userspace know we have a random address */
>  	if (ether_addr_equal(net->dev_addr, node_id))

Johan



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux