Panic with MAC_PORTACL on current.

John Baldwin jhb at freebsd.org
Mon Nov 9 21:15:41 UTC 2015


On Friday, November 06, 2015 01:34:26 AM Daniel Dettlaff wrote:
> Hello.
> 
> I have my second kernel panic, related with “MAC_PORTACL” kernel module loading in CURRENT.
> The only thing to do is to put mac_portacl_load=“YES” in loader.conf and boot machine.
> 
> I built kernel using this config: https://github.com/VerKnowSys/ServeD-OS/blob/master/kernel/VERKNOWSYS-11.0
> My make.conf: https://github.com/VerKnowSys/ServeD-OS/blob/master/etc/make.conf
> My src.conf: https://github.com/VerKnowSys/ServeD-OS/blob/master/etc/src.conf
> My loader.conf: https://github.com/VerKnowSys/ServeD-OS/blob/master/etc/loader.conf.served
> My sysctl.conf: https://github.com/VerKnowSys/ServeD-OS/blob/master/etc/sysctl.conf.served
> 
> I’m using Vmware Fusion 7.0 pro as host.
> 
> I catched that panic on main system console (verbose boot turned on):
> 
> http://s.verknowsys.com/33551a89eda736059df6dcb35ea4eda3.png
> with bt:
> http://s.verknowsys.com/caeb3389d9e7399793a12c44f5760466.png
> 
> Thank you :) Hope this will help someone, let me know if I can help somehow further.

The panic implies that the MAC policy wasn't initialized (rules_mtx hasn't
been initialized).  However, mac_portacl.c installs a module with a SYSINIT
ordering that is long before init() starts.  To debug this further you will
want to trace mac_policy_modevent() to see when it is being called and if
it is failing to call the init() routine in mac_portacl.c.

(Arguably the portacl code should register the sysctl dynamically in its
init() routine)

-- 
John Baldwin


More information about the freebsd-current mailing list