On 2017-12-12 04:59, Jia-Ju Bai wrote:
According to drivers/gpio/gpio-grgpio.c, the kernel module may sleep under a spinlock. The function call paths are: grgpio_remove (acquire the spinlock) gpiochip_remove gpiochip_sysfs_unregister device_unregister --> may sleep mutex_lock --> may sleep grgpio_remove (acquire the spinlock) gpiochip_remove gpiochip_sysfs_unregister gpiod_free __gpiod_free gpiod_unexport device_unregister --> may sleep mutex_lock --> may sleep grgpio_remove (acquire the spinlock) irq_domain_remove mutex_lock --> may sleep grgpio_irq_map (acquire the spinlock) request_irq --> may sleep grgpio_irq_unmap (acquire the spinlock) free_irq --> may sleep I do not find a good way to fix them, so I only report. These possible bugs is found by my static analysis tool (DSAC) and checked by my code review.
Hi! Thank you for reporting this. I will take a look at it. -- Best Regards, Andreas Larsson -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html