Date: Sun, 09 Jul 2017 17:56:48 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-net@FreeBSD.org Subject: [Bug 219251] [Panic] [VIMAGE] [pf] panic when creating/destroying multiple vnet jails Message-ID: <bug-219251-2472-yOrFVyVqgB@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-219251-2472@https.bugs.freebsd.org/bugzilla/> References: <bug-219251-2472@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D219251 --- Comment #2 from commit-hook@freebsd.org --- A commit references this bug: Author: kp Date: Sun Jul 9 17:56:39 UTC 2017 New revision: 320848 URL: https://svnweb.freebsd.org/changeset/base/320848 Log: pf: Fix vnet purging pf_purge_thread() breaks up the work of iterating all states (in pf_purge_expired_states()) and tracks progress in the idx variable. If multiple vnets exist this results in pf_purge_thread() only calling pf_purge_expired_states() for part of the states (the first part of the first vnet, second part of the second vnet and so on). Combined with the mark-and-sweep approach to cleaning up old rules (in V_pf_unlinked_rules) that resulted in pf freeing rules that were still referenced by states. This in turn caused panics when pf_state_expires() encounters that state and attempts to access the rule. We need to track the progress per vnet, not globally, so idx is moved into a per-vnet V_pf_purge_idx. PR: 219251 Sponsored by: Hackathon Essen 2017 Changes: head/sys/netpfil/pf/pf.c --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-219251-2472-yOrFVyVqgB>