[Bug libc/24164] Systemtap probes need to use "nr" constraint on 32-bit Arm, not the default "nor"

cvs-commit at gcc dot gnu.org sourceware-bugzilla@sourceware.org
Fri Feb 15 20:26:00 GMT 2019


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

--- Comment #4 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  bc10e22c90e42613bd5dafb77b80a9ea1759dd1b (commit)
      from  8a11f97062ec7f1a2fed4aefa36c7bebecf87181 (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=bc10e22c90e42613bd5dafb77b80a9ea1759dd1b

commit bc10e22c90e42613bd5dafb77b80a9ea1759dd1b
Author: Florian Weimer <fweimer@redhat.com>
Date:   Fri Feb 15 19:09:00 2019 +0100

    nptl: Fix invalid Systemtap probe in pthread_join [BZ #24211]

    After commit f1ac7455831546e5dca0ed98fe8af2686fae7ce6 ("arm: Use "nr"
    constraint for Systemtap probes [BZ #24164]"), we load pd->result into
    a register in the probe below:

          /* Free the TCB.  */
          __free_tcb (pd);
        }
      else
        pd->joinid = NULL;

      LIBC_PROBE (pthread_join_ret, 3, threadid, result, pd->result);

    However, at this point, the thread descriptor has been freed.  If the
    thread stack does not fit into the thread stack cache, the memory will
    have been unmapped, and the program will crash in the probe.

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

Summary of changes:
 ChangeLog                  |    6 ++++++
 nptl/pthread_join_common.c |    5 +++--
 2 files changed, 9 insertions(+), 2 deletions(-)

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


More information about the Glibc-bugs mailing list