Message ID | 20241030-brcmfmac-of-cleanup-v1-1-0b90eefb4279@gmail.com |
---|---|
State | New |
Headers | show |
Series | [net] wifi: brcmfmac: release 'root' node in all execution paths | expand |
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
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;
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(-) --- base-commit: c05c62850a8f035a267151dd86ea3daf887e28b8 change-id: 20241030-brcmfmac-of-cleanup-000fe98821df Best regards,