This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/22685] PowerPC: Static AT_SECURE binaries segfault with lock-elision and tunables


https://sourceware.org/bugzilla/show_bug.cgi?id=22685

--- Comment #2 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  4612268a0ad8e3409d8ce2314dd2dd8ee0af5269 (commit)
      from  64f63cb4583ecc1ba16c7253aacc192b6d088511 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4612268a0ad8e3409d8ce2314dd2dd8ee0af5269

commit 4612268a0ad8e3409d8ce2314dd2dd8ee0af5269
Author: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
Date:   Fri Jan 12 18:50:33 2018 -0200

    powerpc: Fix syscalls during early process initialization [BZ #22685]

    The tunables framework needs to execute syscall early in process
    initialization, before the TCB is available for consumption.  This
    behavior conflicts with powerpc{|64|64le}'s lock elision code, that
    checks the TCB before trying to abort transactions immediately before
    executing a syscall.

    This patch adds a powerpc-specific implementation of __access_noerrno
    that does not abort transactions before the executing syscall.

    Tested on powerpc{|64|64le}.

        [BZ #22685]
        * sysdeps/powerpc/powerpc32/sysdep.h (ABORT_TRANSACTION_IMPL): Renamed
        from ABORT_TRANSACTION.
        (ABORT_TRANSACTION): Redirect to ABORT_TRANSACTION_IMPL.
        * sysdeps/powerpc/powerpc64/sysdep.h (ABORT_TRANSACTION,
        ABORT_TRANSACTION_IMPL): Likewise.
        * sysdeps/unix/sysv/linux/powerpc/not-errno.h: New file.  Reuse
        Linux code, but remove the code that aborts transactions.

    Signed-off-by: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
    Tested-by: Aurelien Jarno <aurelien@aurel32.net>

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |   11 +++++++++
 sysdeps/powerpc/powerpc32/sysdep.h                 |    5 ++-
 sysdeps/powerpc/powerpc64/sysdep.h                 |    5 ++-
 .../unix/sysv/linux/powerpc/not-errno.h            |   23 +++++++++++--------
 4 files changed, 30 insertions(+), 14 deletions(-)
 copy support/xsigaction.c => sysdeps/unix/sysv/linux/powerpc/not-errno.h (60%)

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]