]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ethtool: tsinfo: don't pass ERR_PTR to genlmsg_cancel on prepare failure
authorJakub Kicinski <kuba@kernel.org>
Tue, 26 May 2026 15:35:30 +0000 (08:35 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 28 May 2026 00:42:08 +0000 (17:42 -0700)
The goto err label leads to:

genlmsg_cancel(skb, ehdr);
return ret;

If ethnl_tsinfo_prepare_dump() failed, it has not started a genlmsg.
There's nothing to cancel, and passing an error pointer to
genlmsg_cancel() would cause a crash.

Fixes: b9e3f7dc9ed9 ("net: ethtool: tsinfo: Enhance tsinfo to support several hwtstamp by net topology")
Reviewed-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Reviewed-by: Kory Maincent <kory.maincent@bootlin.com>
Link: https://patch.msgid.link/20260526153533.2779187-8-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ethtool/tsinfo.c

index f54fe6b662b262ae67933e6cdda713e85a6fb011..14bf01e3b55cdc9040edafa455d93d90f9a40ab4 100644 (file)
@@ -407,10 +407,8 @@ static int ethnl_tsinfo_dump_one_netdev(struct sk_buff *skb,
                        continue;
 
                ehdr = ethnl_tsinfo_prepare_dump(skb, dev, reply_data, cb);
-               if (IS_ERR(ehdr)) {
-                       ret = PTR_ERR(ehdr);
-                       goto err;
-               }
+               if (IS_ERR(ehdr))
+                       return PTR_ERR(ehdr);
 
                reply_data->ts_info.phc_qualifier = ctx->pos_phcqualifier;
                ret = ops->get_ts_info(dev, &reply_data->ts_info);