Re: [PATCH 1/2] libselinux: deprecate security_disable(3)

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

 



On Sat, Jun 15, 2024 at 9:34 AM Christian Göttsche
<cgzones@xxxxxxxxxxxxxx> wrote:
>
> On Wed, 12 Jun 2024 at 22:43, James Carter <jwcart2@xxxxxxxxx> wrote:
> >
> > On Sat, Jun 8, 2024 at 1:20 PM Christian Göttsche
> > <cgoettsche@xxxxxxxxxxxxx> wrote:
> > >
> > > From: Christian Göttsche <cgzones@xxxxxxxxxxxxxx>
> > >
> > > The runtime disable functionality has been removed in Linux 6.4.  Thus
> > > security_disable(3) will no longer work on these kernels.
> > >
> > > Signed-off-by: Christian Göttsche <cgzones@xxxxxxxxxxxxxx>
> > > ---
> > >  libselinux/include/selinux/selinux.h   | 6 +++++-
> > >  libselinux/man/man3/security_disable.3 | 3 ++-
> > >  2 files changed, 7 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/libselinux/include/selinux/selinux.h b/libselinux/include/selinux/selinux.h
> > > index 61c1422b..1318a66a 100644
> > > --- a/libselinux/include/selinux/selinux.h
> > > +++ b/libselinux/include/selinux/selinux.h
> > > @@ -367,7 +367,11 @@ extern int security_deny_unknown(void);
> > >  /* Get the checkreqprot value */
> > >  extern int security_get_checkreqprot(void);
> > >
> > > -/* Disable SELinux at runtime (must be done prior to initial policy load). */
> > > +/* Disable SELinux at runtime (must be done prior to initial policy load).
> > > +   Unsupported since Linux 6.4. */
> > > +#ifdef __GNUC__
> > > +__attribute__ ((deprecated))
> > > +#endif
> > >  extern int security_disable(void);
> > >
> >
> > This causes the userspace build to fail.
> >
> > load_policy.c:329:17: error: ‘security_disable’ is deprecated
> > [-Werror=deprecated-declarations]
> >   329 |                 rc = security_disable();
> >       |                 ^~
> > In file included from selinux_internal.h:4,
> >                  from load_policy.c:13:
> >
> > Maybe we should just print a warning message for now until we can
> > remove the internal usage.
>
> Sorry for obviously not build-testing this.
> Printing a warning might be redundant since the kernel already does so.
> Besides adding the two notes (which I guess are o.k.?) we could either
> not annotate security_disable(3) or explicitly ignore the warning in
> load_policy.c (via a pragma).
> Do you have a preference?
>

Using the pragma to ignore the internal usage would be my preference.
Thanks,
Jim

> >
> > Thanks,
> > Jim
> >
> > >  /* Get the policy version number. */
> > > diff --git a/libselinux/man/man3/security_disable.3 b/libselinux/man/man3/security_disable.3
> > > index 072923ce..5ad8b778 100644
> > > --- a/libselinux/man/man3/security_disable.3
> > > +++ b/libselinux/man/man3/security_disable.3
> > > @@ -14,7 +14,8 @@ disables the SELinux kernel code, unregisters selinuxfs from
> > >  and then unmounts
> > >  .IR /sys/fs/selinux .
> > >  .sp
> > > -This function can only be called at runtime and prior to the initial policy
> > > +This function is only supported on Linux 6.3 and earlier, and can only be
> > > +called at runtime and prior to the initial policy
> > >  load. After the initial policy load, the SELinux kernel code cannot be disabled,
> > >  but only placed in "permissive" mode by using
> > >  .BR security_setenforce(3).
> > > --
> > > 2.45.1
> > >
> > >





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

  Powered by Linux