lkml.org 
[lkml]   [2018]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 30/96] xhci: Fix ring leak in failure path of xhci_alloc_virt_device()
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

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

    From: Ben Hutchings <ben.hutchings@codethink.co.uk>

    This is a stable-only fix for the backport of commit 5d9b70f7d52e
    ("xhci: Don't add a virt_dev to the devs array before it's fully
    allocated").

    In branches that predate commit c5628a2af83a ("xhci: remove endpoint
    ring cache") there is an additional failure path in
    xhci_alloc_virt_device() where ring cache allocation fails, in
    which case we need to free the ring allocated for endpoint 0.

    Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
    Cc: Mathias Nyman <mathias.nyman@intel.com>
    ---
    This is build-tested only.

    Ben.

    drivers/usb/host/xhci-mem.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    --- a/drivers/usb/host/xhci-mem.c
    +++ b/drivers/usb/host/xhci-mem.c
    @@ -1086,7 +1086,8 @@ int xhci_alloc_virt_device(struct xhci_h

    return 1;
    fail:
    -
    + if (dev->eps[0].ring)
    + xhci_ring_free(xhci, dev->eps[0].ring);
    if (dev->in_ctx)
    xhci_free_container_ctx(xhci, dev->in_ctx);
    if (dev->out_ctx)

    \
     
     \ /
      Last update: 2018-01-15 14:41    [W:3.928 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site