Re: is_selinux_enabled() always returns 0 after selinux_set_policy_root()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Wed, Apr 26, 2017, at 04:43 PM, Colin Walters wrote:
> On Wed, Apr 26, 2017, at 04:24 PM, Stephen Smalley wrote:
> >
> > Your analysis and proposed fix sound correct to me.  I blame Dan ;)
> 
> Thanks.  I tested the patch and confirmed it fixed ostree as it stands today,
> but I'm going to change ostree to cache the result of `is_selinux_enabled()`
> itself to work around this, since for our use cases it should never really
> change dynamically.

Although as I was working on the workaround, which I just put up as:
https://github.com/ostreedev/ostree/pull/815

I was thinking about this a bit more and I realized (maybe) why
Dan added that call.  

Right now (ignoring #ifdef ANDROID):
int is_selinux_enabled()
{
return (selinux_mnt && has_selinux_config);
}

And conceptually "has_selinux_config" derives from the policy root.
But in practice it doesn't today - that variable is also only initialized
in the constructor.   Should it?  I'm not sure.

The way libostree uses the policy root is basically for the regexp labeling
database.   We're using `is_selinux_enabled()` to determine whether
or not we should call `setfscreatecon()`. 

Eh.  My inclination is not think too much more about this.  The patch
is unlikely to break anything, it does fix a bug, and I'm not aware of a
case where someone would be using e.g. a host system with SELinux
fully disabled to do anything related to ostree, so we don't
need to care about trying to disentangle those cases.  Hopefully!



[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux