diff options
author | Andrey V. Elsukov <ae@FreeBSD.org> | 2015-03-12 08:57:24 +0000 |
---|---|---|
committer | Andrey V. Elsukov <ae@FreeBSD.org> | 2015-03-12 08:57:24 +0000 |
commit | 998fbd14b8caf8755f764548678bb8ad9a5a052e (patch) | |
tree | 011a2cc4f0213076c2065c074db570889a6ce326 /sys/netpfil/pf | |
parent | 552f44af8b26513f9b2600d2530cd51b224d1584 (diff) | |
download | src-998fbd14b8caf8755f764548678bb8ad9a5a052e.tar.gz src-998fbd14b8caf8755f764548678bb8ad9a5a052e.zip |
Reset mbuf pointer to NULL in fastroute case to indicate that mbuf was
consumed by filter. This fixes several panics due to accessing to mbuf
after free.
Submitted by: Kristof Provost
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=279910
Diffstat (limited to 'sys/netpfil/pf')
-rw-r--r-- | sys/netpfil/pf/pf.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index b32288b695cd..7c3ddb808de0 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -5470,6 +5470,7 @@ pf_route6(struct mbuf **m, struct pf_rule *r, int dir, struct ifnet *oifp, PF_STATE_UNLOCK(s); m0->m_flags |= M_SKIP_FIREWALL; ip6_output(m0, NULL, NULL, 0, NULL, NULL, NULL); + *m = NULL; return; } |