Re: [PATCH net] net: ethtool: tsinfo: Fix dump command

From: Vadim Fedorenko
Date: Thu Mar 06 2025 - 05:41:15 EST


On 05/03/2025 14:03, Kory Maincent wrote:
Fix missing initialization of ts_info->phc_index in the dump command,
which could cause a netdev interface to incorrectly display a PTP provider
at index 0 instead of "none".
Fix it by initializing the phc_index to -1.

In the same time, restore missing initialization of ts_info.cmd for the
IOCTL case, as it was before the transition from ethnl_default_dumpit to
custom ethnl_tsinfo_dumpit.

Fixes: b9e3f7dc9ed95 ("net: ethtool: tsinfo: Enhance tsinfo to support several hwtstamp by net topology")
Signed-off-by: Kory Maincent <kory.maincent@xxxxxxxxxxx>
---
net/ethtool/tsinfo.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/net/ethtool/tsinfo.c b/net/ethtool/tsinfo.c
index 691be6c445b38..9edc5dc30de88 100644
--- a/net/ethtool/tsinfo.c
+++ b/net/ethtool/tsinfo.c
@@ -291,6 +291,8 @@ static void *ethnl_tsinfo_prepare_dump(struct sk_buff *skb,
memset(reply_data, 0, sizeof(*reply_data));
reply_data->base.dev = dev;
memset(&reply_data->ts_info, 0, sizeof(reply_data->ts_info));
+ reply_data->ts_info.cmd = ETHTOOL_GET_TS_INFO;
+ reply_data->ts_info.phc_index = -1;

This change makes sense, but I'm curious why do we need
memset(&reply_data->ts_info, 0, sizeof(reply_data->ts_info))
at all? ts_info is embedded into reply_data which fully zeroed 2 lines
before.

return ehdr;
}