about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2014-07-10 17:34:46 +0200
committerFlorian Weimer <fweimer@redhat.com>2014-07-11 12:30:53 +0200
commit771eb1415fde935e377111f69364a5d92a29e67d (patch)
tree1e9dd40b64e87fe715c4bc7ccee7487c6e500a8a /ChangeLog
parentbc1da1765e901a9a9f532f91d09f5237655e01fd (diff)
downloadglibc-771eb1415fde935e377111f69364a5d92a29e67d.tar.gz
glibc-771eb1415fde935e377111f69364a5d92a29e67d.tar.xz
glibc-771eb1415fde935e377111f69364a5d92a29e67d.zip
nptl: Fix abort in case of set*id failure [BZ #17135]
If a call to the set*id functions fails in a multi-threaded program,
the abort introduced in commit 13f7fe35ae2b0ea55dc4b9628763aafdc8bdc30c
was triggered.

We address by checking that all calls to set*id on all threads give
the same result, and only abort if we see success followed by failure
(or vice versa).
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog12
1 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 99b87329d5..7e847697b0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2014-07-10  Florian Weimer  <fweimer@redhat.com>
+
+	[BZ #17135]
+	* nptl/pthreadP.h (__nptl_setxid_error): Declare function.
+	* nptl/allocatestack.c (__nptl_setxid_error): New function.
+	(__nptl_setxid): Initialize error member.  Call
+	__nptl_setxid_error.
+	* nptl/nptl-init.c (sighandler_setxid): Call __nptl_setxid_error.
+	* nptl/descr.h (struct xid_command): Add error member.
+	* nptl/tst-setuid3.c: New file.
+	* nptl/Makefile (tests): Add it.
+
 2014-07-10  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
 
 	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (__lll_base_trylock):