Re: [PATCH v2 1/2] libsemanage: fix linker script symbol versions

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

 



On Mon, Apr 13, 2020 at 12:39 PM William Roberts
<bill.c.roberts@xxxxxxxxx> wrote:
>
> On Mon, Apr 13, 2020 at 12:12 PM Nicolas Iooss <nicolas.iooss@xxxxxxx> wrote:
> >
> > On Mon, Apr 13, 2020 at 3:04 PM <bill.c.roberts@xxxxxxxxx> wrote:
> > >
> > > From: William Roberts <william.c.roberts@xxxxxxxxx>
> > >
> > > In previous work to cleanup the exports and linker scripts, I introduced
> > > a regression causing symbols to be named in both the 1.0 and 1.1
> > > sections. This went un-noticed and was reported by
> > > nicolas.iooss@xxxxxxx.
> > >
> > > Previous patches checked for correctness by:
> > > This was checked by generating an old export map (from master):
> > > nm --defined-only -g ./src/libsemanage.so | cut -d' ' -f 3-3 | grep -v '^_' > old.map
> > >
> > > Then creating a new one for this library after this patch is applied:
> > > nm --defined-only -g ./src/libsemanage.so | cut -d' ' -f 3-3 | grep -v '^_' > new.map
> > >
> > > And diffing them:
> > > diff old.map new.map
> > >
> > > However, this discards the version information. Nicolas points out a
> > > better way, by using objdump so we can see the version information. A
> > > better sequence of commands for checking is as follows:
> > >
> > > git checkout 1967477913f6e
> > > objdump -T ./src/libsemanage.so | grep LIBSEMANAGE | cut -d' ' -f 8- | sed 's/^ //' > map.old
> > >
> > > git checkout origin/master
> > > objdump -T ./src/libsemanage.so | grep LIBSEMANAGE | cut -d' ' -f 8- | sed 's/^ //' > map.new
> > >
> > > diff map.old map.new
> > >
> > > Signed-off-by: William Roberts <william.c.roberts@xxxxxxxxx>
> > > ---
> > >  libsemanage/src/libsemanage.map | 28 ----------------------------
> > >  1 file changed, 28 deletions(-)
> > >
> > > diff --git a/libsemanage/src/libsemanage.map b/libsemanage/src/libsemanage.map
> > > index ff5977b9f483..8ba2746deaa2 100644
> > > --- a/libsemanage/src/libsemanage.map
> > > +++ b/libsemanage/src/libsemanage.map
> > > @@ -76,10 +76,7 @@ LIBSEMANAGE_1.0 {
> > >      semanage_fcontext_set_con;
> > >      semanage_fcontext_set_expr;
> > >      semanage_fcontext_set_type;
> > > -    semanage_get_default_priority;
> > >      semanage_get_disable_dontaudit;
> > > -    semanage_get_hll_compiler_path;
> > > -    semanage_get_ignore_module_cache;
> > >      semanage_get_preserve_tunables;
> > >      semanage_handle_create;
> > >      semanage_handle_destroy;
> > > @@ -170,39 +167,17 @@ LIBSEMANAGE_1.0 {
> > >      semanage_mls_enabled;
> > >      semanage_module_disable;
> > >      semanage_module_enable;
> > > -    semanage_module_extract;
> > >      semanage_module_get_enabled;
> > > -    semanage_module_get_module_info;
> > >      semanage_module_get_name;
> > >      semanage_module_get_version;
> > > -    semanage_module_info_create;
> > >      semanage_module_info_datum_destroy;
> > > -    semanage_module_info_destroy;
> > > -    semanage_module_info_get_enabled;
> > > -    semanage_module_info_get_lang_ext;
> > > -    semanage_module_info_get_name;
> > > -    semanage_module_info_get_priority;
> > > -    semanage_module_info_set_enabled;
> > > -    semanage_module_info_set_lang_ext;
> > > -    semanage_module_info_set_name;
> > > -    semanage_module_info_set_priority;
> > >      semanage_module_install;
> > >      semanage_module_install_base;
> > >      semanage_module_install_base_file;
> > >      semanage_module_install_file;
> > > -    semanage_module_install_info;
> > > -    semanage_module_key_create;
> > > -    semanage_module_key_destroy;
> > > -    semanage_module_key_get_name;
> > > -    semanage_module_key_get_priority;
> > > -    semanage_module_key_set_name;
> > > -    semanage_module_key_set_priority;
> > >      semanage_module_list;
> > > -    semanage_module_list_all;
> > >      semanage_module_list_nth;
> > >      semanage_module_remove;
> > > -    semanage_module_remove_key;
> > > -    semanage_module_set_enabled;
> > >      semanage_module_upgrade;
> > >      semanage_module_upgrade_file;
> > >      semanage_msg_get_channel;
> > > @@ -276,14 +251,11 @@ LIBSEMANAGE_1.0 {
> > >      semanage_select_store;
> > >      semanage_set_check_contexts;
> > >      semanage_set_create_store;
> > > -    semanage_set_default_priority;
> > >      semanage_set_disable_dontaudit;
> > > -    semanage_set_ignore_module_cache;
> > >      semanage_set_preserve_tunables;
> > >      semanage_set_rebuild;
> > >      semanage_set_reload;
> > >      semanage_set_root;
> > > -    semanage_set_store_root;
> > >      semanage_seuser_clone;
> > >      semanage_seuser_compare;
> > >      semanage_seuser_compare2;
> > > --
> >
> > I tested this patch, compared the symbols of libsemanage.so and
> > everything looked good.
> >
> > Acked-by: Nicolas Iooss <nicolas.iooss@xxxxxxx>
>
> Staged:
> https://github.com/SELinuxProject/selinux/pull/219
Merged:
https://github.com/SELinuxProject/selinux/pull/219



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

  Powered by Linux