[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250125102324.1822-1-hdanton@sina.com>
Date: Sat, 25 Jan 2025 18:23:23 +0800
From: Hillf Danton <hdanton@...a.com>
To: syzbot <syzbot+83976e47ec1ef91e66f1@...kaller.appspotmail.com>
Cc: linux-kernel@...r.kernel.org,
syzkaller-bugs@...glegroups.com
Subject: Re: [syzbot] [usb?] general protection fault in status_show
On Thu, 16 Jan 2025 22:14:23 -0800
> syzbot found the following issue on:
>
> HEAD commit: be548645527a Merge tag 'for-linus' of git://git.kernel.org..
> git tree: upstream
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=12d51cb0580000
#syz test upstream master
--- x/drivers/usb/usbip/vhci_sysfs.c
+++ y/drivers/usb/usbip/vhci_sysfs.c
@@ -76,6 +76,8 @@ static ssize_t status_show_vhci(int pdev
}
hcd = platform_get_drvdata(pdev);
+ if (!hcd || !usb_hcd_is_primary_hcd(hcd))
+ return 0;
vhci_hcd = hcd_to_vhci_hcd(hcd);
vhci = vhci_hcd->vhci;
--- x/net/core/dev.c
+++ y/net/core/dev.c
@@ -10260,14 +10260,19 @@ static bool from_cleanup_net(void)
#endif
}
+static unsigned long extra_netdev_locks = 1;
static void rtnl_drop_if_cleanup_net(void)
{
+ if (extra_netdev_locks)
+ return;
if (from_cleanup_net())
__rtnl_unlock();
}
static void rtnl_acquire_if_cleanup_net(void)
{
+ if (extra_netdev_locks)
+ return;
if (from_cleanup_net())
rtnl_lock();
}
--
Powered by blists - more mailing lists