lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 454/563] device property: Fix fwnode_graph_devcon_match() fwnode leak
    Date
    From: Sakari Ailus <sakari.ailus@linux.intel.com>

    commit 4a7f4110f79163fd53ea65438041994ed615e3af upstream.

    For each endpoint it encounters, fwnode_graph_devcon_match() checks
    whether the endpoint's remote port parent device is available. If it is
    not, it ignores the endpoint but does not put the reference to the remote
    endpoint port parent fwnode. For available devices the fwnode handle
    reference is put as expected.

    Put the reference for unavailable devices now.

    Fixes: 637e9e52b185 ("device connection: Find device connections also from device graphs")
    Cc: 5.1+ <stable@vger.kernel.org> # 5.1+
    Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/base/property.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    --- a/drivers/base/property.c
    +++ b/drivers/base/property.c
    @@ -1195,8 +1195,10 @@ fwnode_graph_devcon_match(struct fwnode_

    fwnode_graph_for_each_endpoint(fwnode, ep) {
    node = fwnode_graph_get_remote_port_parent(ep);
    - if (!fwnode_device_is_available(node))
    + if (!fwnode_device_is_available(node)) {
    + fwnode_handle_put(node);
    continue;
    + }

    ret = match(node, con_id, data);
    fwnode_handle_put(node);

    \
     
     \ /
      Last update: 2022-01-25 04:39    [W:2.209 / U:1.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site