Fix possible race when freeing object in fast bin list.
authorUlrich Drepper <drepper@redhat.com>
Thu, 2 Jul 2009 10:30:55 +0000 (03:30 -0700)
committerUlrich Drepper <drepper@redhat.com>
Thu, 2 Jul 2009 10:30:55 +0000 (03:30 -0700)
ChangeLog
malloc/malloc.c

index 0c6c36f..4700e7d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-07-02  Ulrich Drepper  <drepper@redhat.com>
+
+       * malloc/malloc.c [ATOMIC_FASTBINS] (_int_free): Add full barrier when
+       adding to fast bin list.
+
 2009-07-01  Ulrich Drepper  <drepper@redhat.com>
 
        * nis/nss_nis/nis-network.c (_nss_nis_getnetbyaddr_r): Don't use
index 516d401..70e4e58 100644 (file)
@@ -4822,6 +4822,7 @@ _int_free(mstate av, mchunkptr p)
            goto errout;
          }
        p->fd = fd = old;
+       atomic_full_barrier ();
       }
     while ((old = catomic_compare_and_exchange_val_acq (fb, p, fd)) != fd);
 #else