summary refs log tree commit diff
path: root/nptl/vars.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2020-05-18 18:25:18 +0200
committerFlorian Weimer <fweimer@redhat.com>2020-06-02 10:32:37 +0200
commitc2322a561f74b8fa41b9d9c6b8eb57e28de46f3e (patch)
tree85673d97ee3c4a1d79d67e3e267a12c63cf7946f /nptl/vars.c
parent86ed0774cf0de1d281ca3c773758c9fe6f2784b4 (diff)
downloadglibc-c2322a561f74b8fa41b9d9c6b8eb57e28de46f3e.tar.gz
glibc-c2322a561f74b8fa41b9d9c6b8eb57e28de46f3e.tar.xz
glibc-c2322a561f74b8fa41b9d9c6b8eb57e28de46f3e.zip
nptl: Change type of __default_pthread_attr
union pthread_attr_transparent has always the correct size, even if
pthread_attr_t has padding that is not present in struct pthread_attr.

This should not result in an observable behavioral change.  The
existing code appears to have been correct, but it was brittle because
it was not clear which functions were allowed to write to an entire
pthread_attr_t argument (e.g., by copying it).

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'nptl/vars.c')
-rw-r--r--nptl/vars.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/nptl/vars.c b/nptl/vars.c
index b88300d9b4..3696020145 100644
--- a/nptl/vars.c
+++ b/nptl/vars.c
@@ -22,7 +22,7 @@
 
 /* Default thread attributes for the case when the user does not
    provide any.  */
-struct pthread_attr __default_pthread_attr attribute_hidden;
+union pthread_attr_transparent __default_pthread_attr attribute_hidden;
 
 /* Mutex protecting __default_pthread_attr.  */
 int __default_pthread_attr_lock = LLL_LOCK_INITIALIZER;