diff mbox series

[ethtool,v2] ethtool: Fix uninitialized variable use at qsfp dump

Message ID 1538465059-24645-1-git-send-email-eranbe@mellanox.com
State Accepted, archived
Delegated to: John Linville
Headers show
Series [ethtool,v2] ethtool: Fix uninitialized variable use at qsfp dump | expand

Commit Message

Eran Ben Elisha Oct. 2, 2018, 7:24 a.m. UTC
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 <eranbe@mellanox.com>
---
 qsfp.c    | 2 +-
 sfpdiag.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comments

Andrew Lunn Oct. 2, 2018, 12:50 p.m. UTC | #1
On Tue, Oct 02, 2018 at 10:24:19AM +0300, Eran Ben Elisha wrote:
> 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 <eranbe@mellanox.com>

Hi Eran

Thanks for fixing both cases.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew
John W. Linville Oct. 4, 2018, 7:40 p.m. UTC | #2
On Tue, Oct 02, 2018 at 10:24:19AM +0300, Eran Ben Elisha wrote:
> 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 <eranbe@mellanox.com>

OK, queued for next release...
diff mbox series

Patch

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;