• Mathieu Desnoyers's avatar
    rseq/selftests: Use __rseq_handled symbol to coexist with glibc · 5b0c308a
    Mathieu Desnoyers authored
    In order to integrate rseq into user-space applications, expose a
    __rseq_handled symbol so many rseq users can be linked into the same
    application (e.g. librseq and glibc).
    
    The __rseq_refcount TLS variable is static to the librseq library. It
    ensures that rseq syscall registration/unregistration happens only for
    the most early/late caller to rseq_{,un}register_current_thread for each
    thread, thus ensuring that rseq is registered across the lifetime of all
    rseq users for a given thread.
    Signed-off-by: default avatarMathieu Desnoyers <mathieu.desnoyers@efficios.com>
    CC: Shuah Khan <shuah@kernel.org>
    CC: Carlos O'Donell <carlos@redhat.com>
    CC: Florian Weimer <fweimer@redhat.com>
    CC: Joseph Myers <joseph@codesourcery.com>
    CC: Szabolcs Nagy <szabolcs.nagy@arm.com>
    CC: Thomas Gleixner <tglx@linutronix.de>
    CC: Ben Maurer <bmaurer@fb.com>
    CC: Peter Zijlstra <peterz@infradead.org>
    CC: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
    CC: Boqun Feng <boqun.feng@gmail.com>
    CC: Will Deacon <will.deacon@arm.com>
    CC: Dave Watson <davejwatson@fb.com>
    CC: Paul Turner <pjt@google.com>
    CC: linux-api@vger.kernel.org
    Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
    5b0c308a
rseq.c 3.18 KB