Commit 596c51ed authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

ethtool: linkstate: fix unbalanced ethnl_ops_complete() on PHY lookup error



linkstate_prepare_data() calls ethnl_req_get_phydev() before
ethnl_ops_begin(), but routes its error path through "goto out"
which calls ethnl_ops_complete().

Fixes: fe55b1d4 ("ethtool: linkstate: migrate linkstate functions to support multi-PHY setups")
Reviewed-by: default avatarMaxime Chevallier <maxime.chevallier@bootlin.com>
Link: https://patch.msgid.link/20260526153533.2779187-4-kuba@kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent a888bbd4
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -106,10 +106,8 @@ static int linkstate_prepare_data(const struct ethnl_req_info *req_base,

	phydev = ethnl_req_get_phydev(req_base, tb, ETHTOOL_A_LINKSTATE_HEADER,
				      info->extack);
	if (IS_ERR(phydev)) {
		ret = PTR_ERR(phydev);
		goto out;
	}
	if (IS_ERR(phydev))
		return PTR_ERR(phydev);

	ret = ethnl_ops_begin(dev);
	if (ret < 0)