|
Denis Kirjanov |
021da5 |
From b896d6e6e524451d3912eb83c57e1cb952d8f84b Mon Sep 17 00:00:00 2001
|
|
Denis Kirjanov |
021da5 |
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
Denis Kirjanov |
021da5 |
Date: Mon, 3 May 2021 13:56:49 +0200
|
|
Denis Kirjanov |
021da5 |
Subject: [PATCH 14/19] Revert "niu: fix missing checks of niu_pci_eeprom_read"
|
|
Denis Kirjanov |
021da5 |
Git-commit: 7930742d6a0ff091c85b92ef4e076432d8d8cb79
|
|
Denis Kirjanov |
021da5 |
Patch-mainline: v5.13-rc3
|
|
Denis Kirjanov |
021da5 |
References: git-fixes
|
|
Denis Kirjanov |
021da5 |
|
|
Denis Kirjanov |
021da5 |
This reverts commit 26fd962bde0b15e54234fe762d86bc0349df1de4.
|
|
Denis Kirjanov |
021da5 |
|
|
Denis Kirjanov |
021da5 |
Because of recent interactions with developers from @umn.edu, all
|
|
Denis Kirjanov |
021da5 |
commits from them have been recently re-reviewed to ensure if they were
|
|
Denis Kirjanov |
021da5 |
correct or not.
|
|
Denis Kirjanov |
021da5 |
|
|
Denis Kirjanov |
021da5 |
Upon review, this commit was found to be incorrect for the reasons
|
|
Denis Kirjanov |
021da5 |
below, so it must be reverted. It will be fixed up "correctly" in a
|
|
Denis Kirjanov |
021da5 |
later kernel change.
|
|
Denis Kirjanov |
021da5 |
|
|
Denis Kirjanov |
021da5 |
The change here was incorrect. While it is nice to check if
|
|
Denis Kirjanov |
021da5 |
niu_pci_eeprom_read() succeeded or not when using the data, any error
|
|
Denis Kirjanov |
021da5 |
that might have happened was not propagated upwards properly, causing
|
|
Denis Kirjanov |
021da5 |
the kernel to assume that these reads were successful, which results in
|
|
Denis Kirjanov |
021da5 |
invalid data in the buffer that was to contain the successfully read
|
|
Denis Kirjanov |
021da5 |
data.
|
|
Denis Kirjanov |
021da5 |
|
|
Denis Kirjanov |
021da5 |
Cc: Kangjie Lu <kjlu@umn.edu>
|
|
Denis Kirjanov |
021da5 |
Cc: Shannon Nelson <shannon.lee.nelson@gmail.com>
|
|
Denis Kirjanov |
021da5 |
Cc: David S. Miller <davem@davemloft.net>
|
|
Denis Kirjanov |
021da5 |
Fixes: 26fd962bde0b ("niu: fix missing checks of niu_pci_eeprom_read")
|
|
Denis Kirjanov |
021da5 |
Cc: stable <stable@vger.kernel.org>
|
|
Denis Kirjanov |
021da5 |
Link: https://lore.kernel.org/r/20210503115736.2104747-23-gregkh@linuxfoundation.org
|
|
Denis Kirjanov |
021da5 |
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
Denis Kirjanov |
021da5 |
Signed-off-by: Denis Kirjanov <denis.kirjanov@suse.com>
|
|
Denis Kirjanov |
021da5 |
---
|
|
Denis Kirjanov |
021da5 |
drivers/net/ethernet/sun/niu.c | 10 ++--------
|
|
Denis Kirjanov |
021da5 |
1 file changed, 2 insertions(+), 8 deletions(-)
|
|
Denis Kirjanov |
021da5 |
|
|
Denis Kirjanov |
021da5 |
diff --git a/drivers/net/ethernet/sun/niu.c b/drivers/net/ethernet/sun/niu.c
|
|
Denis Kirjanov |
021da5 |
index 3f0e34bdf772..1c0aee4ada92 100644
|
|
Denis Kirjanov |
021da5 |
--- a/drivers/net/ethernet/sun/niu.c
|
|
Denis Kirjanov |
021da5 |
+++ b/drivers/net/ethernet/sun/niu.c
|
|
Denis Kirjanov |
021da5 |
@@ -8119,8 +8119,6 @@ static int niu_pci_vpd_scan_props(struct niu *np, u32 start, u32 end)
|
|
Denis Kirjanov |
021da5 |
start += 3;
|
|
Denis Kirjanov |
021da5 |
|
|
Denis Kirjanov |
021da5 |
prop_len = niu_pci_eeprom_read(np, start + 4);
|
|
Denis Kirjanov |
021da5 |
- if (prop_len < 0)
|
|
Denis Kirjanov |
021da5 |
- return prop_len;
|
|
Denis Kirjanov |
021da5 |
err = niu_pci_vpd_get_propname(np, start + 5, namebuf, 64);
|
|
Denis Kirjanov |
021da5 |
if (err < 0)
|
|
Denis Kirjanov |
021da5 |
return err;
|
|
Denis Kirjanov |
021da5 |
@@ -8165,12 +8163,8 @@ static int niu_pci_vpd_scan_props(struct niu *np, u32 start, u32 end)
|
|
Denis Kirjanov |
021da5 |
netif_printk(np, probe, KERN_DEBUG, np->dev,
|
|
Denis Kirjanov |
021da5 |
"VPD_SCAN: Reading in property [%s] len[%d]\n",
|
|
Denis Kirjanov |
021da5 |
namebuf, prop_len);
|
|
Denis Kirjanov |
021da5 |
- for (i = 0; i < prop_len; i++) {
|
|
Denis Kirjanov |
021da5 |
- err = niu_pci_eeprom_read(np, off + i);
|
|
Denis Kirjanov |
021da5 |
- if (err >= 0)
|
|
Denis Kirjanov |
021da5 |
- *prop_buf = err;
|
|
Denis Kirjanov |
021da5 |
- ++prop_buf;
|
|
Denis Kirjanov |
021da5 |
- }
|
|
Denis Kirjanov |
021da5 |
+ for (i = 0; i < prop_len; i++)
|
|
Denis Kirjanov |
021da5 |
+ *prop_buf++ = niu_pci_eeprom_read(np, off + i);
|
|
Denis Kirjanov |
021da5 |
}
|
|
Denis Kirjanov |
021da5 |
|
|
Denis Kirjanov |
021da5 |
start += len;
|
|
Denis Kirjanov |
021da5 |
--
|
|
Denis Kirjanov |
021da5 |
2.16.4
|
|
Denis Kirjanov |
021da5 |
|