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

Reply via email to