[BUG] rts5208: Sleeping under a spin lock in xd_init_l2p_tbl

Jia-Ju Bai baijiaju1990 at 163.com
Mon Jun 5 01:38:14 UTC 2017


According to rtsx_chip.c and xd.c, the driver may sleep under a spin lock.
The function call path is:
rtsx_exclusive_enter_ss (acquire the lock by spin_lock)
   rtsx_enter_ss
     rtsx_power_off_card
       xd_cleanup_work
         xd_delay_write
           xd_finish_write
             xd_set_unused_block
               xd_build_l2p_tbl
                 xd_init_l2p_tbl
                   vmalloc --> may sleep

This bug is found by my static analysis tool and my code review.
I hope to fix it, but I do not have a good solution.

Thanks,
Jia-Ju Bai



More information about the devel mailing list