Re: [PATCH userspace 1/2] libsemanage: always write kernel policy when check_ext_changes is specified

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

 



On Wed, Jun 29, 2022 at 6:55 PM James Carter <jwcart2@xxxxxxxxx> wrote:
>
> On Tue, Jun 28, 2022 at 5:08 PM Nicolas Iooss <nicolas.iooss@xxxxxxx> wrote:
> >
> > On Wed, Jun 8, 2022 at 7:23 PM Ondrej Mosnacek <omosnace@xxxxxxxxxx> wrote:
> > >
> > > For the use case of rebuilding the policy afte package updates, we need
> > > the check_ext_changes operation to always do at least the do_write_kernel
> > > step, because the various semanage dbs may have also changed content
> > > relative to the current binary policy. As this step is itself relatively
> > > fast, we can do it unconditionally.
> > >
> > > Fixes: 286a679fadc4 ("libsemanage: optionally rebuild policy when modules are changed externally")
> > > Signed-off-by: Ondrej Mosnacek <omosnace@xxxxxxxxxx>
> >
> > Hello,
> > This patch and the next one ("semodule: rename
> > --rebuild-if-modules-changed to --refresh") look good to me. Has
> > anyone also taken a look at them?
> >
> > If nobody objects, I will merge it tomorrow, with a small misspelling
> > fix in the commit message (afte -> after).
> >
>
> These look good to me as well.
> Thanks,
> Jim

Thanks. I merged both patches.
Nicolas

> > Acked-by: Nicolas Iooss <nicolas.iooss@xxxxxxx>
> >
> > Thanks,
> > Nicolas
> >
> > > ---
> > >  libsemanage/include/semanage/handle.h | 2 +-
> > >  libsemanage/src/direct_api.c          | 8 +++++---
> > >  2 files changed, 6 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/libsemanage/include/semanage/handle.h b/libsemanage/include/semanage/handle.h
> > > index 0157be4f..4cf30815 100644
> > > --- a/libsemanage/include/semanage/handle.h
> > > +++ b/libsemanage/include/semanage/handle.h
> > > @@ -67,7 +67,7 @@ extern void semanage_set_reload(semanage_handle_t * handle, int do_reload);
> > >  extern void semanage_set_rebuild(semanage_handle_t * handle, int do_rebuild);
> > >
> > >  /* set whether to rebuild the policy on commit when potential changes
> > > - * to module files since last rebuild are detected,
> > > + * to store files since last rebuild are detected,
> > >   * 1 for yes (default), 0 for no */
> > >  extern void semanage_set_check_ext_changes(semanage_handle_t * handle, int do_check);
> > >
> > > diff --git a/libsemanage/src/direct_api.c b/libsemanage/src/direct_api.c
> > > index 7206483a..7aa081ab 100644
> > > --- a/libsemanage/src/direct_api.c
> > > +++ b/libsemanage/src/direct_api.c
> > > @@ -1437,13 +1437,15 @@ static int semanage_direct_commit(semanage_handle_t * sh)
> > >          * Determine what else needs to be done.
> > >          * We need to write the kernel policy if we are rebuilding
> > >          * or if any other policy component that lives in the kernel
> > > -        * policy has been modified.
> > > +        * policy has been modified. We also want to force it when
> > > +        * check_ext_changes was specified as the various dbases may have
> > > +        * changes as well.
> > >          * We need to install the policy files if any of the managed files
> > >          * that live under /etc/selinux (kernel policy, seusers, file contexts)
> > >          * will be modified.
> > >          */
> > > -       do_write_kernel = do_rebuild | ports_modified | ibpkeys_modified |
> > > -               ibendports_modified |
> > > +       do_write_kernel = do_rebuild | sh->check_ext_changes |
> > > +               ports_modified | ibpkeys_modified | ibendports_modified |
> > >                 bools->dtable->is_modified(bools->dbase) |
> > >                 ifaces->dtable->is_modified(ifaces->dbase) |
> > >                 nodes->dtable->is_modified(nodes->dbase) |
> > > --
> > > 2.36.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