Re: [BUG] mfd: ezx-pcap: Possible sleep-in-atomic-context bugs in pcap_adc_irq()

From: Jia-Ju Bai
Date: Wed Oct 10 2018 - 03:31:58 EST




On 2018/10/9 17:07, Lee Jones wrote:
On Mon, 17 Sep 2018, Jia-Ju Bai wrote:


On 2018/9/17 9:03, Lee Jones wrote:
On Sat, 15 Sep 2018, Jia-Ju Bai wrote:

The driver may sleep in an interrupt handler.
The function call paths (from bottom to top) in Linux-4.17 are:

[FUNC] mutex_lock_nested
drivers/mfd/ezx-pcap.c, 272:
mutex_lock_nested in pcap_adc_irq (interrupt handler)

[FUNC] mutex_lock_nested
drivers/mfd/ezx-pcap.c, 100:
mutex_lock_nested in ezx_pcap_read
drivers/mfd/ezx-pcap.c, 281:
ezx_pcap_read in pcap_adc_irq (interrupt handler)

[FUNC] mutex_lock_nested
drivers/mfd/ezx-pcap.c, 85:
mutex_lock_nested in ezx_pcap_write
drivers/mfd/ezx-pcap.c, 285:
ezx_pcap_write in pcap_adc_irq (interrupt handler)

[FUNC] mutex_lock_nested
drivers/mfd/ezx-pcap.c, 244:
mutex_lock_nested in pcap_adc_trigger
drivers/mfd/ezx-pcap.c, 299:
pcap_adc_trigger in pcap_adc_irq (interrupt handler)

These bugs are found by my static analysis tool DSAC.
Not sure what you want me to do with this.

Do you have something in mind?

I find some possible bugs in this driver, but I do not know how to correctly
fix them...
Could you find a good solution?
If you have found bugs and do not intend on fixing them, please report
them via the 'File a Bug' option here:

https://bugzilla.kernel.org/


Okay, thanks.


Best wishes,
Jia-Ju Bai