lkml.org 
[lkml]   [2012]   [Nov]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 215/270] xhci: fix integer overflow
    Date
    3.5.7u1 -stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Oliver Neukum <oliver@neukum.org>

    commit 16b45fdf9c4e82f5d3bc53aa70737650e7c8d5ed upstream.

    xhci_service_interval_to_ns() returns long long
    to avoid an overflow. However, the type cast happens
    too late. The fix is to force ULL from the beginning.

    This patch should be backported to kernels as old as 3.5, that contain
    the commit e3567d2c15a7a8e2f992a5f7c7683453ca406d82 "xhci: Add Intel
    U1/U2 timeout policy."

    Signed-off-by: Oliver Neukum <oneukum@suse.de>
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com>
    ---
    drivers/usb/host/xhci.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
    index 1f9b8a4..5f831c2 100644
    --- a/drivers/usb/host/xhci.c
    +++ b/drivers/usb/host/xhci.c
    @@ -4020,7 +4020,7 @@ int xhci_update_device(struct usb_hcd *hcd, struct usb_device *udev)
    static unsigned long long xhci_service_interval_to_ns(
    struct usb_endpoint_descriptor *desc)
    {
    - return (1 << (desc->bInterval - 1)) * 125 * 1000;
    + return (1ULL << (desc->bInterval - 1)) * 125 * 1000;
    }

    static u16 xhci_get_timeout_no_hub_lpm(struct usb_device *udev,
    --
    1.7.9.5


    \
     
     \ /
      Last update: 2012-11-26 19:21    [W:3.280 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site