LOR when booting CURRENT (ip_divert.c, PFil hook read/write mutex) [#181]

Christian S.J. Peron csjp at FreeBSD.org
Mon Jul 31 20:46:03 UTC 2006


Robert Huff wrote:
> Yar Tikhiy writes:
>
>   
>>  FWIW, the LOR still is there.  I was seeing it yesterday while
>>  fiddling with the ipfw and natd rc.d scripts.
>>  
>>  lock order reversal:
>>   1st 0xc1a36090 inp (divinp) @ /usr/src/sys/modules/ipdivert/../../netinet/ip_divert.c:350
>>   2nd 0xc0a51918 PFil hook read/write mutex (PFil hook read/write mutex) @ /usr/src/sys/net/pfil.c:73
>>     
>
> 	For the record, I'm (still) getting this also.
>
>
> 				Robert Huff
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
>
>
>   

This appears to be similar to the LOR associated with IPFW and ucred 
based rules, I think. Although this is a lock order reversal and it 
probably isn't a false positive, it should be reasonably harmless, 
because the pfil hook lock is a reader lock, thus different threads can 
acquire it (at this point) con-currently, presumably preventing a dead 
lock from actually occurring here.

iirc witness it not aware of the reader/writer semantics, so it makes 
sense that it will be dropping a warning here. But I can look at this in 
further detail when I get a bit of time.

-- 
Christian S.J. Peron
csjp at FreeBSD.ORG
FreeBSD Committer
FreeBSD Security Team



More information about the freebsd-current mailing list