MFC r321779:

Description

MFC r321779:

Add inpcb pointer to struct ipsec_ctx_data and pass it to the pfil hook
from enc_hhook().

This should solve the problem when pf is used with if_enc(4) interface,
and outbound packet with existing PCB checked by pf, and this leads to
deadlock due to pf does its own PCB lookup and tries to take rlock when
wlock is already held.

Now we pass PCB pointer if it is known to the pfil hook, this helps to
avoid extra PCB lookup and thus rlock acquiring is not needed.
For inbound packets it is safe to pass NULL, because we do not held any
PCB locks yet.

PR:		[[ https://bugs.freebsd.org/220217 | 220217 ]]
Sponsored by:	Yandex LLC

Details

Committed
aeAug 21 2017, 9:03 AM
Parents
rS322740: Upgrade our copies of clang, llvm, lld and libc++ to r311219 from the
Branches
Unknown
Tags
Unknown