lkml.org 
[lkml]   [2019]   [Nov]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 081/159] usb: gadget: uvc: configfs: Drop leaked references to config items
    Date
    From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

    [ Upstream commit 86f3daed59bceb4fa7981d85e89f63ebbae1d561 ]

    Some of the .allow_link() and .drop_link() operations implementations
    call config_group_find_item() and then leak the reference to the
    returned item. Fix this by dropping those references where needed.

    Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/usb/gadget/function/uvc_configfs.c | 4 ++++
    1 file changed, 4 insertions(+)

    diff --git a/drivers/usb/gadget/function/uvc_configfs.c b/drivers/usb/gadget/function/uvc_configfs.c
    index 01656f1c6d650..74df80a25b469 100644
    --- a/drivers/usb/gadget/function/uvc_configfs.c
    +++ b/drivers/usb/gadget/function/uvc_configfs.c
    @@ -564,6 +564,7 @@ static int uvcg_control_class_allow_link(struct config_item *src,
    unlock:
    mutex_unlock(&opts->lock);
    out:
    + config_item_put(header);
    mutex_unlock(su_mutex);
    return ret;
    }
    @@ -605,6 +606,7 @@ static int uvcg_control_class_drop_link(struct config_item *src,
    unlock:
    mutex_unlock(&opts->lock);
    out:
    + config_item_put(header);
    mutex_unlock(su_mutex);
    return ret;
    }
    @@ -2087,6 +2089,7 @@ static int uvcg_streaming_class_allow_link(struct config_item *src,
    unlock:
    mutex_unlock(&opts->lock);
    out:
    + config_item_put(header);
    mutex_unlock(su_mutex);
    return ret;
    }
    @@ -2131,6 +2134,7 @@ static int uvcg_streaming_class_drop_link(struct config_item *src,
    unlock:
    mutex_unlock(&opts->lock);
    out:
    + config_item_put(header);
    mutex_unlock(su_mutex);
    return ret;
    }
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-11-22 11:37    [W:4.098 / U:0.652 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site