Re: [PATCH] sound/pci/riptide or drivers/base/firmware: Fix a possible sleep-in-atomic bug

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks for your reply :)
Yes, you are right. Sorry for this false positive.


Thanks,
Jia-Ju Bai

On 2017/10/9 14:43, Takashi Iwai wrote:
On Mon, 09 Oct 2017 04:13:16 +0200,
Jia-Ju Bai wrote:
The riptide driver may sleep under a spinlock, and the function call path is:
snd_riptide_prepare (acquire the spinlock)
   setsampleformat
     sendcmd
       riptide_reset
         try_to_load_firmware
           request_firmware
             _request_firmware (drivers/base/firmware_class.c)
               _request_firmware_prepare
                 kzalloc(GFP_KERNEL) --> may sleep

To fix it, GFP_KERNEL is replaced with GFP_ATOMIC in _request_firmware_prepare.
This bug is found by my static analysis tool and my code review.

Signed-off-by: Jia-Ju Bai<baijiaju1990@xxxxxxx>
This doesn't happen.  try_to_load_firmware() aborts before the
request_firmware() call when chip == NULL, which is the case from
sendcmd().

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux