On 9/5/2019 7:24 AM, Andrey Konovalov wrote: > On Thu, Sep 5, 2019 at 4:20 AM Hui Peng <benquike@xxxxxxxxx> wrote: >> >> Can you guys have a look at the attached patch? > > Let's try it: > > #syz test: https://github.com/google/kasan.git eea39f24 > > FYI: there are two more reports coming from this driver, which might > (or might not) have the same root cause. One of them has a suggested > fix by Oliver. > > https://syzkaller.appspot.com/bug?extid=67b2bd0e34f952d0321e > https://syzkaller.appspot.com/bug?extid=93f2f45b19519b289613 > I think they are different, though similar. This one is resulted from unregistering a network device. These 2 are resulted from unregistering a tty device. >> >> On 9/4/19 6:41 PM, Stephen Hemminger wrote: >>> On Wed, 4 Sep 2019 16:27:50 -0400 >>> Hui Peng <benquike@xxxxxxxxx> wrote: >>> >>>> Hi, all: >>>> >>>> I looked at the bug a little. >>>> >>>> The issue is that in the error handling code, hso_free_net_device >>>> unregisters >>>> >>>> the net_device (hso_net->net) by calling unregister_netdev. In the >>>> error handling code path, >>>> >>>> hso_net->net has not been registered yet. >>>> >>>> I think there are two ways to solve the issue: >>>> >>>> 1. fix it in drivers/net/usb/hso.c to avoiding unregistering the >>>> net_device when it is still not registered >>>> >>>> 2. fix it in unregister_netdev. We can add a field in net_device to >>>> record whether it is registered, and make unregister_netdev return if >>>> the net_device is not registered yet. >>>> >>>> What do you guys think ? >>> #1