]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/4.14.93/net-netxen-fix-a-missing-check-and-an-uninitialized-.patch
Linux 4.19.15
[thirdparty/kernel/stable-queue.git] / releases / 4.14.93 / net-netxen-fix-a-missing-check-and-an-uninitialized-.patch
1 From 25052815f85aed90269462394a0f0fb81d7b9929 Mon Sep 17 00:00:00 2001
2 From: Kangjie Lu <kjlu@umn.edu>
3 Date: Fri, 21 Dec 2018 00:22:32 -0600
4 Subject: net: netxen: fix a missing check and an uninitialized use
5
6 [ Upstream commit d134e486e831defd26130770181f01dfc6195f7d ]
7
8 When netxen_rom_fast_read() fails, "bios" is left uninitialized and may
9 contain random value, thus should not be used.
10
11 The fix ensures that if netxen_rom_fast_read() fails, we return "-EIO".
12
13 Signed-off-by: Kangjie Lu <kjlu@umn.edu>
14 Signed-off-by: David S. Miller <davem@davemloft.net>
15 Signed-off-by: Sasha Levin <sashal@kernel.org>
16 ---
17 drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c | 3 ++-
18 1 file changed, 2 insertions(+), 1 deletion(-)
19
20 diff --git a/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c b/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
21 index 3dd973475125..4b444351ab7d 100644
22 --- a/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
23 +++ b/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
24 @@ -1125,7 +1125,8 @@ netxen_validate_firmware(struct netxen_adapter *adapter)
25 return -EINVAL;
26 }
27 val = nx_get_bios_version(adapter);
28 - netxen_rom_fast_read(adapter, NX_BIOS_VERSION_OFFSET, (int *)&bios);
29 + if (netxen_rom_fast_read(adapter, NX_BIOS_VERSION_OFFSET, (int *)&bios))
30 + return -EIO;
31 if ((__force u32)val != bios) {
32 dev_err(&pdev->dev, "%s: firmware bios is incompatible\n",
33 fw_name[fw_type]);
34 --
35 2.19.1
36