freebsd-skq/sys/netpfil/pf
Kristof Provost 0b799353d8 pf: Fix deadlock with route-to
If a locally generated packet is routed (with route-to/reply-to/dup-to) out of
a different interface it's passed through the firewall again. This meant we
lost the inp pointer and if we required the pointer (e.g. for user ID matching)
we'd deadlock trying to acquire an inp lock we've already got.

Pass the inp pointer along with pf_route()/pf_route6().

PR:		228782
MFC after:	1 week
2018-06-09 14:17:06 +00:00
..
if_pflog.c SPDX: license IDs for some ISC-related files. 2017-12-08 15:57:29 +00:00
if_pfsync.c pf: Replace rwlock on PF_RULES_LOCK with rmlock 2018-05-30 07:11:33 +00:00
in4_cksum.c SPDX: license IDs for some ISC-related files. 2017-12-08 15:57:29 +00:00
pf_altq.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
pf_if.c pf: Replace rwlock on PF_RULES_LOCK with rmlock 2018-05-30 07:11:33 +00:00
pf_ioctl.c pf: Replace rwlock on PF_RULES_LOCK with rmlock 2018-05-30 07:11:33 +00:00
pf_lb.c pf: Replace rwlock on PF_RULES_LOCK with rmlock 2018-05-30 07:11:33 +00:00
pf_mtag.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
pf_norm.c pf: Replace rwlock on PF_RULES_LOCK with rmlock 2018-05-30 07:11:33 +00:00
pf_osfp.c pf: Replace rwlock on PF_RULES_LOCK with rmlock 2018-05-30 07:11:33 +00:00
pf_ruleset.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
pf_table.c pf: Replace rwlock on PF_RULES_LOCK with rmlock 2018-05-30 07:11:33 +00:00
pf.c pf: Fix deadlock with route-to 2018-06-09 14:17:06 +00:00
pf.h netpfil: Introduce PFIL_FWD flag 2018-03-23 16:56:44 +00:00