* [PATCH] be2net: Fix Smatch error [not found] <YtlIZgG/wQtxpKMh@kili> @ 2022-07-22 15:20 ` Hristo Venev 2022-07-23 4:42 ` Jakub Kicinski 0 siblings, 1 reply; 4+ messages in thread From: Hristo Venev @ 2022-07-22 15:20 UTC (permalink / raw) To: Dan Carpenter, Paolo Abeni; +Cc: netdev, kernel-janitors, Hristo Venev drivers/net/ethernet/emulex/benet/be_ethtool.c:1392 be_get_module_eeprom() error: uninitialized symbol 'status'. When `eeprom->len == 0` and `eeprom->offset == PAGE_DATA_LEN`, we end up with neither of the pages being read, so `status` is left uninitialized. While it appears that no caller will actually give `get_module_eeprom` a zero length, fixing this issue is trivial. Fixes: d7241f679a59 ("be2net: Fix buffer overflow in be_get_module_eeprom") Signed-off-by: Hristo Venev <hristo@venev.name> --- drivers/net/ethernet/emulex/benet/be_ethtool.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/emulex/benet/be_ethtool.c b/drivers/net/ethernet/emulex/benet/be_ethtool.c index bd0df189d871..2145882d00cc 100644 --- a/drivers/net/ethernet/emulex/benet/be_ethtool.c +++ b/drivers/net/ethernet/emulex/benet/be_ethtool.c @@ -1361,7 +1361,7 @@ static int be_get_module_eeprom(struct net_device *netdev, struct ethtool_eeprom *eeprom, u8 *data) { struct be_adapter *adapter = netdev_priv(netdev); - int status; + int status = 0; u32 begin, end; if (!check_privilege(adapter, MAX_PRIVILEGES)) -- 2.37.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] be2net: Fix Smatch error 2022-07-22 15:20 ` [PATCH] be2net: Fix Smatch error Hristo Venev @ 2022-07-23 4:42 ` Jakub Kicinski 2022-07-26 16:54 ` [PATCH net v2] be2net: Fix uninitialized variable Hristo Venev 0 siblings, 1 reply; 4+ messages in thread From: Jakub Kicinski @ 2022-07-23 4:42 UTC (permalink / raw) To: Hristo Venev; +Cc: Dan Carpenter, Paolo Abeni, netdev, kernel-janitors On Fri, 22 Jul 2022 18:20:52 +0300 Hristo Venev wrote: > Subject: [PATCH] be2net: Fix Smatch error Please describe the problem not the tool that found it, and name the target tree in the tag ([PATCH net] in this case). ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH net v2] be2net: Fix uninitialized variable 2022-07-23 4:42 ` Jakub Kicinski @ 2022-07-26 16:54 ` Hristo Venev 2022-07-27 17:27 ` Jakub Kicinski 0 siblings, 1 reply; 4+ messages in thread From: Hristo Venev @ 2022-07-26 16:54 UTC (permalink / raw) To: Jakub Kicinski Cc: Dan Carpenter, Paolo Abeni, netdev, kernel-janitors, Hristo Venev The following error is reported by Smatch: drivers/net/ethernet/emulex/benet/be_ethtool.c:1392 be_get_module_eeprom() error: uninitialized symbol 'status'. When `eeprom->len == 0` and `eeprom->begin == PAGE_DATA_LEN`, we end up with neither of the pages being read, so `status` is left uninitialized. While it appears that no caller will actually give `get_module_eeprom` a zero length, fixing this issue is trivial. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Fixes: d7241f679a59 ("be2net: Fix buffer overflow in be_get_module_eeprom") Signed-off-by: Hristo Venev <hristo@venev.name> --- drivers/net/ethernet/emulex/benet/be_ethtool.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/emulex/benet/be_ethtool.c b/drivers/net/ethernet/emulex/benet/be_ethtool.c index bd0df189d871..2145882d00cc 100644 --- a/drivers/net/ethernet/emulex/benet/be_ethtool.c +++ b/drivers/net/ethernet/emulex/benet/be_ethtool.c @@ -1361,7 +1361,7 @@ static int be_get_module_eeprom(struct net_device *netdev, struct ethtool_eeprom *eeprom, u8 *data) { struct be_adapter *adapter = netdev_priv(netdev); - int status; + int status = 0; u32 begin, end; if (!check_privilege(adapter, MAX_PRIVILEGES)) -- 2.37.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH net v2] be2net: Fix uninitialized variable 2022-07-26 16:54 ` [PATCH net v2] be2net: Fix uninitialized variable Hristo Venev @ 2022-07-27 17:27 ` Jakub Kicinski 0 siblings, 0 replies; 4+ messages in thread From: Jakub Kicinski @ 2022-07-27 17:27 UTC (permalink / raw) To: Hristo Venev; +Cc: Dan Carpenter, Paolo Abeni, netdev, kernel-janitors On Tue, 26 Jul 2022 19:54:54 +0300 Hristo Venev wrote: > The following error is reported by Smatch: > > drivers/net/ethernet/emulex/benet/be_ethtool.c:1392 be_get_module_eeprom() > error: uninitialized symbol 'status'. > > When `eeprom->len == 0` and `eeprom->begin == PAGE_DATA_LEN`, we end > up with neither of the pages being read, so `status` is left > uninitialized. > > While it appears that no caller will actually give `get_module_eeprom` > a zero length, fixing this issue is trivial. If there is no caller that can trigger this - it's not a fix. Fixes are for bugs which can be triggered. Please repost against net-next without the Fixes tag. Please don't post the v3 in reply to v2, just add a changelog under the --- marker and make a fresh thread. > Reported-by: Dan Carpenter <dan.carpenter@oracle.com> > Fixes: d7241f679a59 ("be2net: Fix buffer overflow in be_get_module_eeprom") > Signed-off-by: Hristo Venev <hristo@venev.name> > --- > drivers/net/ethernet/emulex/benet/be_ethtool.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/emulex/benet/be_ethtool.c b/drivers/net/ethernet/emulex/benet/be_ethtool.c > index bd0df189d871..2145882d00cc 100644 > --- a/drivers/net/ethernet/emulex/benet/be_ethtool.c > +++ b/drivers/net/ethernet/emulex/benet/be_ethtool.c > @@ -1361,7 +1361,7 @@ static int be_get_module_eeprom(struct net_device *netdev, > struct ethtool_eeprom *eeprom, u8 *data) > { > struct be_adapter *adapter = netdev_priv(netdev); > - int status; > + int status = 0; > u32 begin, end; > > if (!check_privilege(adapter, MAX_PRIVILEGES)) ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-07-27 18:29 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <YtlIZgG/wQtxpKMh@kili>
2022-07-22 15:20 ` [PATCH] be2net: Fix Smatch error Hristo Venev
2022-07-23 4:42 ` Jakub Kicinski
2022-07-26 16:54 ` [PATCH net v2] be2net: Fix uninitialized variable Hristo Venev
2022-07-27 17:27 ` Jakub Kicinski
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).