2017-12-12 03:23:19

by Jia-Ju Bai

[permalink] [raw]
Subject: [BUG] drivers/usb/host/isp116x-hcd: a possible sleep-in-atomic bug in isp116x_start

According to drivers/usb/host/isp116x-hcd.c, the kernel module may sleep
under a spinlock.
The function call path is:
isp116x_start (acquire the spinlock)
device_init_wakeup
device_wakeup_enable
wakeup_source_register
wakeup_source_create
kmalloc(GFP_KERNEL) --> may sleep

I do not find a good way to fix it, so I only report.
This possible bug is found by my static analysis tool (DSAC) and checked
by my code review.


Thanks,
Jia-Ju Bai