Re: Panic with MAC_PORTACL on current.

From: John Baldwin <jhb_at_freebsd.org>
Date: Mon, 09 Nov 2015 11:27:59 -0800
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
Received on Mon Nov 09 2015 - 20:15:41 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:00 UTC