Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 09 Nov 2015 11:27:59 -0800
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-current@freebsd.org
Cc:        Daniel Dettlaff <dmilith@gmail.com>, 'Robert Watson' <rwatson@freebsd.org>
Subject:   Re: Panic with MAC_PORTACL on current.
Message-ID:  <1657323.OkOMLhHyvD@ralph.baldwin.cx>
In-Reply-To: <4317C155-B18D-4EFA-9017-033943950D35@gmail.com>
References:  <4317C155-B18D-4EFA-9017-033943950D35@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday, November 06, 2015 01:34:26 AM Daniel Dettlaff wrote:
> Hello.
>=20
> I have my second kernel panic, related with =E2=80=9CMAC_PORTACL=E2=80=
=9D kernel module loading in CURRENT.
> The only thing to do is to put mac_portacl_load=3D=E2=80=9CYES=E2=80=9D=
 in loader.conf and boot machine.
>=20
> I built kernel using this config: https://github.com/VerKnowSys/Serve=
D-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/e=
tc/loader.conf.served
> My sysctl.conf: https://github.com/VerKnowSys/ServeD-OS/blob/master/e=
tc/sysctl.conf.served
>=20
> I=E2=80=99m using Vmware Fusion 7.0 pro as host.
>=20
> I catched that panic on main system console (verbose boot turned on):=

>=20
> http://s.verknowsys.com/33551a89eda736059df6dcb35ea4eda3.png
> with bt:
> http://s.verknowsys.com/caeb3389d9e7399793a12c44f5760466.png
>=20
> Thank you :) Hope this will help someone, let me know if I can help s=
omehow further.

The panic implies that the MAC policy wasn't initialized (rules_mtx has=
n't
been initialized).  However, mac_portacl.c installs a module with a SYS=
INIT
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 it=
s
init() routine)

--=20
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1657323.OkOMLhHyvD>