[alsa-devel] [BUG] ALSA: soc: sti: a possible sleep-in-atomic-context bug in uni_player_ctl_iec958_put()

Arnaud POULIQUEN arnaud.pouliquen at st.com
Wed Dec 18 14:24:03 CET 2019


Hi Jia-Ju

On 12/18/19 1:51 PM, Jia-Ju Bai wrote:
> The driver may sleep while holding a spinlock.
> The function call path (from bottom to top) in Linux 4.19 is:
> 
> sound/soc/sti/uniperif_player.c, 229:
>      mutex_lock in uni_player_set_channel_status
> sound/soc/sti/uniperif_player.c, 608:
>      uni_player_set_channel_status in uni_player_ctl_iec958_put
> sound/soc/sti/uniperif_player.c, 603:
>      _raw_spin_lock_irqsave in uni_player_ctl_iec958_put
> 
> mutex_lock() can sleep at runtime.
> 
> I am not sure how to properly fix this possible bug, so I only report it.
> 
> This bug is found by a static analysis tool STCheck written by myself.
Thank you for pointing out the bug, I will test and send a fix.

Regards
Arnaud
> 
> 
> Best wishes,
> Jia-Ju Bai
> 


More information about the Alsa-devel mailing list