Skip to contentSkip to conversation

Patch "USB: ledtrig-usbport: fix of-node leak" has been added to the 4.14-stable tree

PATCH [email protected] 1 participant 1 message Mar 16, 2018

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

USB: ledtrig-usbport: fix of-node leak

to the 4.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
usb-ledtrig-usbport-fix-of-node-leak.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From foo@baz Fri Mar 16 15:43:17 CET 2018

From: Johan Hovold <[email protected]>
Date: Thu, 9 Nov 2017 18:07:22 +0100
Subject: USB: ledtrig-usbport: fix of-node leak

From: Johan Hovold <[email protected]>

[ Upstream commit 03310a15484ab6a8f6d91bbf7fe486b17275c09a ]

This code looks up a USB device node from a given parent USB device but never dropped its reference to the returned node.

As only the address of the node is used for a later matching, the reference can be dropped immediately.

Note that this trigger implementation confuses the description of the USB device connected to a port with the port itself (which does not have a device-tree representation).

Fixes 4f04c210d031 ("usb: core: read USB ports from DT in the usbport LED trigger driver")
Cc Rafał Miłecki <[email protected]>
---
 drivers/usb/core/ledtrig-usbport.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
drivers/usb/core/ledtrig-usbport.c +7 -1
@@ -140,11 +140,17 @@ static bool usbport_trig_port_observed(s
 	if (!led_np)
 		return false;
 
-	/* Get node of port being added */
+	/*
+	 * Get node of port being added
+	 *
+	 * FIXME: This is really the device node of the connected device
+	 */
 	port_np = usb_of_get_child_node(usb_dev->dev.of_node, port1);
 	if (!port_np)
 		return false;
 
+	of_node_put(port_np);
+
 	/* Amount of trigger sources for this LED */
 	count = of_count_phandle_with_args(led_np, "trigger-sources",
 					   "#trigger-source-cells");

Patches currently in stable-queue which might be from [email protected] are

queue-4.14/usb-ledtrig-usbport-fix-of-node-leak.patch queue-4.14/serial-core-mark-port-as-initialized-in-autoconfig.patch