Struct sff_diags can be used uninitialized at sff8636_show_dom, this caused the tool to show unreported fields (supports_alarms) by the lower level driver.
In addition, make sure the same struct is being initialized at sff8472_parse_eeprom function, to avoid the same issue here. Fixes: a5e73bb05ee4 ("ethtool:QSFP Plus/QSFP28 Diagnostics Information Support") Signed-off-by: Eran Ben Elisha <era...@mellanox.com> --- qsfp.c | 2 +- sfpdiag.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/qsfp.c b/qsfp.c index 32e195d12dc0..d196aa1753de 100644 --- a/qsfp.c +++ b/qsfp.c @@ -671,7 +671,7 @@ static void sff8636_dom_parse(const __u8 *id, struct sff_diags *sd) static void sff8636_show_dom(const __u8 *id, __u32 eeprom_len) { - struct sff_diags sd; + struct sff_diags sd = {0}; char *rx_power_string = NULL; char power_string[MAX_DESC_SIZE]; int i; diff --git a/sfpdiag.c b/sfpdiag.c index 32e4cd8917a4..fa41651422ea 100644 --- a/sfpdiag.c +++ b/sfpdiag.c @@ -241,7 +241,7 @@ static void sff8472_parse_eeprom(const __u8 *id, struct sff_diags *sd) void sff8472_show_all(const __u8 *id) { - struct sff_diags sd; + struct sff_diags sd = {0}; char *rx_power_string = NULL; int i; -- 1.8.3.1