about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-07-22 23:19:30 -0400
committerUlrich Drepper <drepper@gmail.com>2011-07-22 23:19:30 -0400
commit90f139ddd0cfbb1f0b0ebd1fb73d4e2a2765f83b (patch)
treee20d126f90c4c74e368e1ab2ae96fe1b1641c304
parent1d002f25399c0a0ed2cc276d4ee18db869152384 (diff)
downloadglibc-90f139ddd0cfbb1f0b0ebd1fb73d4e2a2765f83b.tar.gz
glibc-90f139ddd0cfbb1f0b0ebd1fb73d4e2a2765f83b.tar.xz
glibc-90f139ddd0cfbb1f0b0ebd1fb73d4e2a2765f83b.zip
Add read barrier protecting DES initialization
-rw-r--r--ChangeLog4
-rw-r--r--crypt/crypt_util.c6
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index a9208f6d30..ca3d4c25c9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2011-07-22  Ulrich Drepper  <drepper@gmail.com>
+
+	* crypt/crypt_util.c (__init_des_r): Add read barrier as well.
+
 2011-07-21  Andreas Schwab  <schwab@redhat.com>
 
 	* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix last
diff --git a/crypt/crypt_util.c b/crypt/crypt_util.c
index 7999a30672..2576ccbce5 100644
--- a/crypt/crypt_util.c
+++ b/crypt/crypt_util.c
@@ -1,7 +1,8 @@
 /*
  * UFC-crypt: ultra fast crypt(3) implementation
  *
- * Copyright (C) 1991-1993,1996-1998,2000,2010 Free Software Foundation, Inc.
+ * Copyright (C) 1991-1993,1996-1998,2000,2010,2011
+ * Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -475,7 +476,8 @@ __init_des_r(__data)
 small_tables_done:
     __libc_lock_unlock(_ufc_tables_lock);
 #endif
-  }
+  } else
+    atomic_read_barrier ();
 
   /*
    * Create the sb tables: