mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
nptl: Preserve error in setxid thread broadcast in coredumps [BZ #22153]
This commit is contained in:
committed by
Florian Weimer
parent
8644588807
commit
e4f530da0d
@ -1,3 +1,9 @@
|
|||||||
|
2017-10-13 Peter Zelezny <peter.zelezny@dektech.com.au>
|
||||||
|
|
||||||
|
[BZ #22153]
|
||||||
|
* nptl/allocatestack.c (__nptl_setxid_error): Preserve error code
|
||||||
|
in coredumps.
|
||||||
|
|
||||||
2017-10-13 James Clarke <jrtc27@jrtc27.com>
|
2017-10-13 James Clarke <jrtc27@jrtc27.com>
|
||||||
|
|
||||||
* sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela):
|
* sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela):
|
||||||
|
@ -1105,9 +1105,14 @@ __nptl_setxid_error (struct xid_command *cmdp, int error)
|
|||||||
if (olderror == error)
|
if (olderror == error)
|
||||||
break;
|
break;
|
||||||
if (olderror != -1)
|
if (olderror != -1)
|
||||||
/* Mismatch between current and previous results. */
|
{
|
||||||
|
/* Mismatch between current and previous results. Save the
|
||||||
|
error value to memory so that is not clobbered by the
|
||||||
|
abort function and preserved in coredumps. */
|
||||||
|
volatile int xid_err __attribute__((unused)) = error;
|
||||||
abort ();
|
abort ();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
while (atomic_compare_and_exchange_bool_acq (&cmdp->error, error, -1));
|
while (atomic_compare_and_exchange_bool_acq (&cmdp->error, error, -1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user