diff mbox series

ax88172a: fix wrong reading MAC malicious device

Message ID 20191222054713.14887-1-tranmanphong@gmail.com (mailing list archive)
State New, archived
Headers show
Series ax88172a: fix wrong reading MAC malicious device | expand

Commit Message

Phong Tran Dec. 22, 2019, 5:47 a.m. UTC
Crash log KASAN: use-after-free Read in asix_suspend

https://syzkaller.appspot.com/text?tag=CrashLog&x=1330a2c6e00000
(unnamed net_device) (uninitialized): Failed to read MAC address: 0

asix_read_cmd() with ret = 0 but this is a error. Fix the checking
return value condition.

Reported-by: syzbot+514595412b80dc817633@syzkaller.appspotmail.com

Tested by:
https://groups.google.com/d/msg/syzkaller-bugs/0hHExZ030LI/yge-2Q_9BAAJ

Signed-off-by: Phong Tran <tranmanphong@gmail.com>
---
 drivers/net/usb/ax88172a.c | 2 ++
 1 file changed, 2 insertions(+)
diff mbox series

Patch

diff --git a/drivers/net/usb/ax88172a.c b/drivers/net/usb/ax88172a.c
index af3994e0853b..525900896ce0 100644
--- a/drivers/net/usb/ax88172a.c
+++ b/drivers/net/usb/ax88172a.c
@@ -197,6 +197,8 @@  static int ax88172a_bind(struct usbnet *dev, struct usb_interface *intf)
 	/* Get the MAC address */
 	ret = asix_read_cmd(dev, AX_CMD_READ_NODE_ID, 0, 0, ETH_ALEN, buf, 0);
 	if (ret < ETH_ALEN) {
+		if (ret >= 0)
+			ret = -ENXIO;
 		netdev_err(dev->net, "Failed to read MAC address: %d\n", ret);
 		goto free;
 	}