libfc mutex under RCU read section error since "libfc: Fixup disc_mutex handling"

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

 



The libfc and libfcoe modules look to have issues with mutexs being used
under rcu_read_lock, which triggers "Illegal context switch in RCU read
side critical section" warnings under debug kernels.

I started looking at fc_disc.c where rport discovery code appears to
take a mutex for each rport in fc_rport_login/fc_rport_logoff while
being called under rcu_read_lock from fc_disc_done.

With the rdata->kref held, I know rcu_read_unlock can be safely called
before login fc_rport_login/logoff.  But I don't know if it's safe to
then recall rcu_read_lock and simply continue on with the
list_for_each_entry_rcu or not.

And as I start looking into this one case, I also get the same class of
problem popping up in at least libfcoe:fcoe_ctrl.c from
fcoe_ctrl_timer_work as well :(

- Chris Leech




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux