Thread (5 messages) flat view 5 messages, 4 authors, 2020-08-28

Re: [PATCH] net: usb: Fix uninit-was-stored issue in asix_read_phy_addr()

From: Sergei Shtylyov <hidden>
Date: 2020-08-27 07:58:57
Also in: linux-kernel-mentees, linux-usb, lkml

Hello!

On 27.08.2020 9:53, Himadri Pandya wrote:
quoted hunk ↗ jump to hunk
The buffer size is 2 Bytes and we expect to receive the same amount of
data. But sometimes we receive less data and run into uninit-was-stored
issue upon read. Hence modify the error check on the return value to match
with the buffer size as a prevention.

Reported-and-tested by: syzbot+a7e220df5a81d1ab400e@syzkaller.appspotmail.com
Signed-off-by: Himadri Pandya <redacted>
---
  drivers/net/usb/asix_common.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/usb/asix_common.c b/drivers/net/usb/asix_common.c
index e39f41efda3e..7bc6e8f856fe 100644
--- a/drivers/net/usb/asix_common.c
+++ b/drivers/net/usb/asix_common.c
@@ -296,7 +296,7 @@ int asix_read_phy_addr(struct usbnet *dev, int internal)
  
  	netdev_dbg(dev->net, "asix_get_phy_addr()\n");
  
-	if (ret < 0) {
+	if (ret < 2) {
  		netdev_err(dev->net, "Error reading PHYID register: %02x\n", ret);
    Hm... printing possibly negative values as hex?

[...]

MBR, Sergei
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help