Re: [PATCH net-next] net: ethtool: cable-test: Release RTNL when the PHY isn't found

From: Larysa Zaremba
Date: Tue Aug 27 2024 - 06:46:26 EST


On Tue, Aug 27, 2024 at 11:23:13AM +0200, Maxime Chevallier wrote:
> Use the correct logic to check for the presence of a PHY device, and
> jump to a label that correctly releases RTNL in case of an error, as we
> are holding RTNL at that point.
>
> Fixes: 3688ff3077d3 ("net: ethtool: cable-test: Target the command to the requested PHY")
> Closes: https://lore.kernel.org/netdev/20240827104825.5cbe0602@xxxxxxxxxxxxx/T/#m6bc49cdcc5cfab0d162516b92916b944a01c833f
> Signed-off-by: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>
> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

Your SoB has to be at the very end. The patch itself looks correct.

Reviewed-by: Larysa Zaremba <larysa.zaremba@xxxxxxxxx>

> ---
>
> I'm targetting this patch to net-next as this is where the commit it fixes lives.
>
> net/ethtool/cabletest.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/net/ethtool/cabletest.c b/net/ethtool/cabletest.c
> index ff2fe3566ace..371bdc1598ce 100644
> --- a/net/ethtool/cabletest.c
> +++ b/net/ethtool/cabletest.c
> @@ -343,9 +343,9 @@ int ethnl_act_cable_test_tdr(struct sk_buff *skb, struct genl_info *info)
> phydev = ethnl_req_get_phydev(&req_info,
> tb[ETHTOOL_A_CABLE_TEST_TDR_HEADER],
> info->extack);
> - if (!IS_ERR_OR_NULL(phydev)) {
> + if (IS_ERR_OR_NULL(phydev)) {
> ret = -EOPNOTSUPP;
> - goto out_dev_put;
> + goto out_rtnl;
> }
>
> ops = ethtool_phy_ops;
> --
> 2.45.2
>
>