lkml.org 
[lkml]   [2019]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 034/119] USB: ldusb: fix memleak on disconnect
    Date
    From: Johan Hovold <johan@kernel.org>

    commit b14a39048c1156cfee76228bf449852da2f14df8 upstream.

    If disconnect() races with release() after a process has been
    interrupted, release() could end up returning early and the driver would
    fail to free its driver data.

    Fixes: 2824bd250f0b ("[PATCH] USB: add ldusb driver")
    Cc: stable <stable@vger.kernel.org> # 2.6.13
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Link: https://lore.kernel.org/r/20191010125835.27031-2-johan@kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/usb/misc/ldusb.c | 5 +----
    1 file changed, 1 insertion(+), 4 deletions(-)

    --- a/drivers/usb/misc/ldusb.c
    +++ b/drivers/usb/misc/ldusb.c
    @@ -383,10 +383,7 @@ static int ld_usb_release(struct inode *
    goto exit;
    }

    - if (mutex_lock_interruptible(&dev->mutex)) {
    - retval = -ERESTARTSYS;
    - goto exit;
    - }
    + mutex_lock(&dev->mutex);

    if (dev->open_count != 1) {
    retval = -ENODEV;

    \
     
     \ /
      Last update: 2019-10-27 22:08    [W:8.723 / U:0.952 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site