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 --- Note that a call to of_node_put() on a NULL device_node has no effect, which simplifies this patch as there is no need to refactor the or add more conditions. --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c index fe4f65756105..af930e34c21f 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c @@ -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;
--- base-commit: c05c62850a8f035a267151dd86ea3daf887e28b8 change-id: 20241030-brcmfmac-of-cleanup-000fe98821df
Best regards,
Javier Carrasco javier.carrasco.cruz@gmail.com wrote:
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
Wireless patches go to wireless trees, not net. But no need to resend because of this. And I think wireless-next is approriate for this fix.
On 31/10/2024 15:18, Kalle Valo wrote:
Javier Carrasco javier.carrasco.cruz@gmail.com wrote:
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
Wireless patches go to wireless trees, not net. But no need to resend because of this. And I think wireless-next is approriate for this fix.
Sorry, the second link from your signature explains very well what I should have done. I will keep that in mind for the next patch(es) to wireless.
Thank you and best regards, Javier Carrasco
Javier Carrasco javier.carrasco.cruz@gmail.com wrote:
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
Patch applied to wireless-next.git, thanks.
2e19a3b590eb wifi: brcmfmac: release 'root' node in all execution paths
linux-stable-mirror@lists.linaro.org