[systemd-devel] [PATCH] selinux: Only attempt to load policy exactly once, in the real root

Stephen Smalley sds at tycho.nsa.gov
Thu Feb 20 10:51:06 PST 2014

On 02/20/2014 01:17 PM, Colin Walters wrote:
> On Thu, Feb 20, 2014 at 1:06 PM, Stephen Smalley <sds at tycho.nsa.gov> wrote:
>> Wouldn't it be better (and more correct) to probe both the initramfs and
>> the real root, and if neither one can load policy successfully and
>> enforcing=1, then halt?
> So you're saying we should handle -ENOENT specially in the initramfs? 
> Something like being sure we preserve errno and returning it to the
> caller of selinux_init_load_policy()?  That would introduce a subtle
> version dependency.
> Or alternatively, just try in the initramfs, ignore any errors, and only
> abort if we also fail to load in the real root?
> I think both of these (particularly the second) are worse than my patch
> - we don't (to my knowledge) support putting policy in the initramfs now
> with Fedora or Red Hat Enterprise Linux, so attempting to find it there
> by default on every bootup is wrong. 
> To turn it around, what is the possible value in also probing the
> initramfs?  Does anyone out there load policy from it with systemd?

Ok, I guess when you put it that way...

The only cases I know of where policy is loaded from initramfs are
embedded Linux and Android, neither of which are using systemd to my
knowledge, and both of which have custom policy loading logic anyway.

More information about the systemd-devel mailing list