Re: [PATCH v2] usb: hcd: out of bounds access in for_each_companion

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

 



On Thu, 3 Mar 2016, Robert Dobrowolski wrote:

> On BXT platform Host Controller and Device Controller figure as
> same PCI device but with different device function. HCD should not
> pass data to Device Controller but only to Host Controllers.
> Checking if companion device is Host Controller, otherwise skip.
> 
> Signed-off-by: Robert Dobrowolski <robert.dobrowolski@xxxxxxxxx>
> ---
>  drivers/usb/core/hcd-pci.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c
> index 9eb1cff..b8b580e 100644
> --- a/drivers/usb/core/hcd-pci.c
> +++ b/drivers/usb/core/hcd-pci.c
> @@ -74,6 +74,15 @@ static void for_each_companion(struct pci_dev *pdev, struct usb_hcd *hcd,
>  		if (companion->bus != pdev->bus ||
>  				PCI_SLOT(companion->devfn) != slot)
>  			continue;
> +
> +		/*
> +		 * Companion device should be either UHCI,OHCI or EHCI host
> +		 * controller, otherwise skip.
> +		 */
> +		if (companion->class != CL_UHCI && companion->class != CL_OHCI &&
> +				companion->class != CL_EHCI)
> +			continue;
> +
>  		companion_hcd = pci_get_drvdata(companion);
>  		if (!companion_hcd || !companion_hcd->self.root_hub)
>  			continue;
> 

Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux