De-virtualize V_pf_mtag_z to eliminate kernel panics.

Marko Zec zec at
Sat Jul 27 14:20:01 UTC 2013

On Saturday 27 July 2013 08:31:48 Craig Rodrigues wrote:
> Gleb,
> Since you did a lot of work in GRN 240233
> to fix PF issues, especially for VIMAGE, I thought I would
> ask your opinion on the attached patch.
> In this post:
> I reported multiple PF-related panics when VIMAGE was enabled
> in my kernel config.
> In these posts:
> Marko Zec seemed to think that de-virtualizing V_pf_mtag_z
> would be a valid solution to this problem, and that keeping
> V_pf_mtag_z as a per-vnet variable is not necessary.
> What do you think of Marko's comments, and this patch?

Hi Craig,

while in principle I agree with the intent to de-virtualize V_pf_mtag_z 
(after all, this was my suggestion in the first place), your proposed patch 
isn't the valid solution, since on each vnet creation you'll be clobbering 
(now global) variable pf_mtag_z, which would imminently cause double-free 
or similar issues later during runtime.  You should move

pf_mtag_z = uma_zcreate(...)

to some other function which isn't called for each vnet, or at least as a 
crude kludge, do this conditionally if (curvnet == vnet0).  The same goes 
for uma_zdestroy(pf_mtag_z)...



More information about the freebsd-virtualization mailing list