PING^2: V3 [PATCH] x86: Remove ARCH_CET_LEGACY_BITMAP [BZ #25397]

H.J. Lu hjl.tools@gmail.com
Mon Mar 16 22:04:12 GMT 2020


On Fri, Mar 13, 2020 at 6:25 AM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> On Tue, Mar 10, 2020 at 06:36:54AM -0700, H.J. Lu wrote:
> > On Tue, Mar 10, 2020 at 02:13:37PM +0100, Florian Weimer wrote:
> > > * H. J. Lu:
> > >
> > > >> I think the error message should say *where* indirect branch tracking
> > > >> is not enabled.  I assume this is a property of the loaded object.
> > > >
> > > > Fixed.   Now I got
> > > >
> > > > .... libvirtd[1048]: internal error: Failed to load module
> > > > '/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_rbd.so':
> > > > /usr/lib64/ceph/libceph-common.so.0: indirect branch tracking isn't
> > > > enabled: Invalid argument
> > >
> > > What I meant is that the error message should say that the object
> > > needs to be rebuilt with IBT/SHSTK support.  In the above, it's
> > > unclear whether the process or the object has to enable IBT.
> > >
> > > (The Invalid Argument part should also be suppressed.)
> >
> > Like this?  The diff against V2 patch is:
> >
> > diff --git a/sysdeps/x86/dl-cet.c b/sysdeps/x86/dl-cet.c
> > index f527a1414c..b2843488be 100644
> > --- a/sysdeps/x86/dl-cet.c
> > +++ b/sysdeps/x86/dl-cet.c
> > @@ -142,10 +142,10 @@ dl_cet_check (struct link_map *m, const char *program)
> >                 /* When IBT is enabled, we cannot dlopen a shared
> >                    object without IBT.  */
> >                 if (found_ibt_legacy)
> > -                 _dl_signal_error (EINVAL,
> > +                 _dl_signal_error (0,
> >                                     m->l_initfini[ibt_legacy]->l_name,
> >                                     "dlopen",
> > -                                   N_("indirect branch tracking isn't enabled"));
> > +                                   N_("rebuilt with IBT support needed"));
> >               }
> >
> >             if (enable_shstk_type != CET_PERMISSIVE)
> > @@ -153,10 +153,10 @@ dl_cet_check (struct link_map *m, const char *program)
> >                 /* When SHSTK is enabled, we cannot dlopen a shared
> >                    object without SHSTK.  */
> >                 if (found_shstk_legacy)
> > -                 _dl_signal_error (EINVAL,
> > +                 _dl_signal_error (0,
> >                                     m->l_initfini[shstk_legacy]->l_name,
> >                                     "dlopen",
> > -                                   N_("shadow stack isn't enabled"));
> > +                                   N_("rebuilt with SHSTK support needed"));
> >               }
> >
> >             if (enable_ibt_type != CET_PERMISSIVE
> >
>
> PING.
>

PING:

https://sourceware.org/pipermail/libc-alpha/2020-March/111873.html

-- 
H.J.


More information about the Libc-alpha mailing list