]> git.hungrycats.org Git - linux/commitdiff
wifi: brcmfmac: release 'root' node in all execution paths
authorJavier Carrasco <javier.carrasco.cruz@gmail.com>
Wed, 30 Oct 2024 17:34:45 +0000 (18:34 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2024 12:54:15 +0000 (13:54 +0100)
commit 2e19a3b590ebf2e351fc9d0e7c323430e65b6b6d upstream.

The fixed patch introduced an additional condition to enter the scope
where the 'root' device_node is released (!settings->board_type,
currently 'err'), which avoid decrementing the refcount with a call to
of_node_put() if that second condition is not satisfied.

Move the call to of_node_put() to the point where 'root' is no longer
required to avoid leaking the resource if err is not zero.

Cc: stable@vger.kernel.org
Fixes: 7682de8b3351 ("wifi: brcmfmac: of: Fetch Apple properties")
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://patch.msgid.link/20241030-brcmfmac-of-cleanup-v1-1-0b90eefb4279@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c

index fe4f657561056cdf49da039c0f91d3fd04f72036..af930e34c21f8abd636e7a37907d117d1c5521f8 100644 (file)
@@ -110,9 +110,8 @@ void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type,
                }
                strreplace(board_type, '/', '-');
                settings->board_type = board_type;
-
-               of_node_put(root);
        }
+       of_node_put(root);
 
        if (!np || !of_device_is_compatible(np, "brcm,bcm4329-fmac"))
                return;