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 |
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
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 --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;
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(-)