On 2021/05/11 12:31, qiang.zhang@xxxxxxxxxxxxx wrote: > This warning is generated because when kfree wdm_device, > it is found that there is still an active work in workqueue, > This phenomenon may be due to the following reasons. > when the devices disconnect, although the work was cancelled, > but the schedule_work still may be called, therefore, before > scheduling work, we need to detect the status of the device. > > Reported-by: syzbot <syzbot+7da71853830ac3289474@xxxxxxxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Zqiang <qiang.zhang@xxxxxxxxxxxxx> > --- > drivers/usb/class/cdc-wdm.c | 13 ++++++++----- > 1 file changed, 8 insertions(+), 5 deletions(-) > Oliver Neukum is aware of this problem, and is considering poisoning approach than checking WDM_SUSPENDING/WDM_RESETTING/WDM_DISCONNECTING approach. I guess we could replace three test_bit() tests into OR'ed-bits test (something like test_bits()) ? https://lkml.kernel.org/r/2db36d52015b644cc1891fcffc87ef09c2b728b7.camel@xxxxxxxx Oliver, how do we want to fix this problem?