According to fc_disc.c, the driver may sleep under a RCU lock,
and the function call paths are:
fc_disc_done (acquire the RCU lock)
  fc_rport_logoff
    mutex_lock --> may sleep

fc_disc_done (acquire the RCU lock)
  fc_rport_login
    mutex_lock --> may sleep

fc_disc_stop_rports
  fc_rport_logoff
    mutex_lock --> may sleep

These bugs are found by my static analysis tool and my code review.

Thanks,
Jia-Ju Bai

Reply via email to