You've already forked linux-rockchip
mirror of
https://github.com/armbian/linux-rockchip.git
synced 2026-01-06 11:08:10 -08:00
device property: Fix fwnode_graph_devcon_match() fwnode leak
commit4a7f4110f7upstream. 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:637e9e52b1("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>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
ecb71f7bd5
commit
6c1e3d8b1b
@@ -1195,8 +1195,10 @@ fwnode_graph_devcon_match(struct fwnode_handle *fwnode, const char *con_id,
|
||||
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user