[Bug libc/34530] New: Regression in POWER fortified longjmp with pointer guard rotation
fweimer at redhat dot com via Glibc-bugs <[email protected]>
| Newsgroups | gmane.comp.lib.glibc.bugs |
|---|---|
| Message-ID | <[email protected]/bugzilla/> |
https://sourceware.org/bugzilla/show_bug.cgi?id=34530
Bug ID: 34530
Summary: Regression in POWER fortified longjmp with pointer
guard rotation
Product: glibc
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: libc
Assignee: unassigned at sourceware dot org
Reporter: fweimer at redhat dot com
CC: drepper.fsp at gmail dot com
Target Milestone: ---
Target: powerpc*-linux-gnu
After commit 78f1f0e39cd41d28ae771eb3498bc33780c85cfd ("Consolidate the C
pointer guard and align the assembly implementations"), PTR_DEMANGLE3 on POWER
no longer atomically updates the destination register. The fortified longjmp
relies on atomic update of the stack pointer
sysdeps/powerpc/powerpc64/__longjmp-common.S:
#ifdef PTR_DEMANGLE
# ifdef CHECK_SP
PTR_DEMANGLE3 (r22, r22, r25)
# else
PTR_DEMANGLE3 (r1, r22, r25)
# endif
#endif
If a signal arrives at the wrong time, the kernel will see a garbage stack
pointer and fails to push the signal frame.
Seen as a nptl/tst-cancel32 failure.
--
You are receiving this mail because:
You are on the CC list for the bug.