Re: [PATCH glibc 2.31 1/5] glibc: Perform rseq(2) registration at C startup and thread creation (v12)

2019-09-13 Thread Florian Weimer
* Mathieu Desnoyers: > I'm unsure whether there are changes I need to do in my rseq patchset, or > if this is a separate issue that will be fixed separately before glibc 2.31 > is out, which would then update the rseq bits accordingly ? Someone else (perhaps me) has to fix __libc_multiple_libcs.

Re: [PATCH glibc 2.31 1/5] glibc: Perform rseq(2) registration at C startup and thread creation (v12)

2019-09-13 Thread Mathieu Desnoyers
- On Sep 11, 2019, at 3:00 PM, carlos car...@redhat.com wrote: > On 9/11/19 2:26 PM, Florian Weimer wrote: >> * Mathieu Desnoyers: >> >>> +#ifdef SHARED >>> + if (rtld_active ()) >>> +{ >>> + /* Register rseq ABI to the kernel. */ >>> + (void) rseq_register_current_thread

Re: [PATCH glibc 2.31 1/5] glibc: Perform rseq(2) registration at C startup and thread creation (v12)

2019-09-11 Thread Rich Felker
On Wed, Sep 11, 2019 at 09:54:23PM +0200, Florian Weimer wrote: > * Carlos O'Donell: > > > On 9/11/19 3:08 PM, Florian Weimer wrote: > >> * Carlos O'Donell: > >> > >>> It would be easier to merge the patch set if it were just an unconditional > >>> registration like we do for set_robust_list().

Re: [PATCH glibc 2.31 1/5] glibc: Perform rseq(2) registration at C startup and thread creation (v12)

2019-09-11 Thread Florian Weimer
* Florian Weimer: > * Carlos O'Donell: > >> On 9/11/19 3:08 PM, Florian Weimer wrote: >>> * Carlos O'Donell: >>> It would be easier to merge the patch set if it were just an unconditional registration like we do for set_robust_list(). >>> >>> Note that this depends on the in-tree

Re: [PATCH glibc 2.31 1/5] glibc: Perform rseq(2) registration at C startup and thread creation (v12)

2019-09-11 Thread Florian Weimer
* Carlos O'Donell: > On 9/11/19 3:08 PM, Florian Weimer wrote: >> * Carlos O'Donell: >> >>> It would be easier to merge the patch set if it were just an unconditional >>> registration like we do for set_robust_list(). >> >> Note that this depends on the in-tree system call numbers list, which I

Re: [PATCH glibc 2.31 1/5] glibc: Perform rseq(2) registration at C startup and thread creation (v12)

2019-09-11 Thread Carlos O'Donell
On 9/11/19 3:08 PM, Florian Weimer wrote: > * Carlos O'Donell: > >> It would be easier to merge the patch set if it were just an unconditional >> registration like we do for set_robust_list(). > > Note that this depends on the in-tree system call numbers list, which I > still need to finish

Re: [PATCH glibc 2.31 1/5] glibc: Perform rseq(2) registration at C startup and thread creation (v12)

2019-09-11 Thread Florian Weimer
* Carlos O'Donell: > It would be easier to merge the patch set if it were just an unconditional > registration like we do for set_robust_list(). Note that this depends on the in-tree system call numbers list, which I still need to finish according to Joseph's specifications. (We have something

Re: [PATCH glibc 2.31 1/5] glibc: Perform rseq(2) registration at C startup and thread creation (v12)

2019-09-11 Thread Carlos O'Donell
On 9/11/19 2:26 PM, Florian Weimer wrote: > * Mathieu Desnoyers: > >> +#ifdef SHARED >> + if (rtld_active ()) >> +{ >> + /* Register rseq ABI to the kernel. */ >> + (void) rseq_register_current_thread (); >> +} >> +#else > > I think this will need *another* check for the

Re: [PATCH glibc 2.31 1/5] glibc: Perform rseq(2) registration at C startup and thread creation (v12)

2019-09-11 Thread Florian Weimer
* Mathieu Desnoyers: > +#ifdef SHARED > + if (rtld_active ()) > +{ > + /* Register rseq ABI to the kernel. */ > + (void) rseq_register_current_thread (); > +} > +#else I think this will need *another* check for the inner libc in an audit module. See what we do in malloc.

[PATCH glibc 2.31 1/5] glibc: Perform rseq(2) registration at C startup and thread creation (v12)

2019-08-07 Thread Mathieu Desnoyers
Register rseq(2) TLS for each thread (including main), and unregister for each thread (excluding main). "rseq" stands for Restartable Sequences. See the rseq(2) man page proposed here: https://lkml.org/lkml/2018/9/19/647 This patch is based on glibc-2.30. The rseq(2) system call was merged