Deadlocks when using pf tags or socket owner matching

Kristof Provost kp at FreeBSD.org
Thu Jul 16 18:39:08 UTC 2020


On 10 Jul 2020, at 22:29, Kristof Provost wrote:
> On 8 Jul 2020, at 12:52, Kajetan Staszkiewicz wrote:
>> I have forgot to mention my system: it's FreeBSD 11.3-RELEASE-p9
>>
>> I have also managed to replicate this (or a similar) issue on a test
>> system built with lock debugging and I got this:
>>
>> Jul  8 10:32:07 hwlb-aw-01 kernel: lock order reversal:
>> Jul  8 10:32:07 hwlb-aw-01 kernel: 1st 0xffffffff81850760 pf rulesets
>> (pf rulesets) @
>> /usr/home/kajetan.staszkiewicz/freebsd.git/sys/netpfil/pf/pf.c:6006
>> Jul  8 10:32:07 hwlb-aw-01 kernel: 2nd 0xfffff8011f7028a8 tcpinp
>> (tcpinp) @
>> /usr/home/kajetan.staszkiewicz/freebsd.git/sys/netinet/in_pcb.c:1994
>
> This lock order reversal is almost certainly the reason for the 
> deadlock you report in your previous e-mail.
>
> The problem relates to the UID filtering functionality, so not using 
> that feature will avoid the deadlock.
> I believe I’ve seen previous reports about issues in this area as 
> well.
>
> I’ll try to put this on my short-sh term todo list, but I can’t 
> promise anything. Free time is exceptionally rare these days.
>
I can’t seem to reproduce the LOR (or the deadlock).

Can you share a minimal ruleset that triggers this problem?

Thanks,
Kristof


More information about the freebsd-net mailing list