[PATCH v3 1/9] of: property: add of_graph_get_next_port()

Krzysztof Kozlowski krzk at kernel.org
Sun Aug 25 22:57:51 PDT 2024


On Mon, Aug 26, 2024 at 02:43:23AM +0000, Kuninori Morimoto wrote:
> We have endpoint base functions
> 	- of_graph_get_next_device_endpoint()
> 	- of_graph_get_device_endpoint_count()
> 	- for_each_of_graph_device_endpoint()

> +	if (!prev) {
> +		/*
> +		 * Find "ports" node from parent
> +		 *
> +		 *	parent {
> +		 * =>		ports {
> +		 *			port {...};
> +		 *		};
> +		 *	};
> +		 */
> +		prev = of_get_child_by_name(parent, "ports");
> +
> +		/*
> +		 * Use parent as its ports if it not exist
> +		 *
> +		 * =>	parent {
> +		 *		port {...};
> +		 *	};
> +		 */
> +		if (!prev) {
> +			prev = of_node_get(parent);
> +
> +			/* check wether it has port node */
> +			struct device_node *port __free(device_node) =
> +				of_get_child_by_name(prev, "port");
> +
> +			if (!port)
> +				prev = NULL;

It looks like you leak here "prev".

> +		}
> +
> +		return prev;
> +	}

Best regards,
Krzysztof




More information about the linux-arm-kernel mailing list