This patch provides a workaround of data race inside _IO_new_proc_open() (upstream BZ#22834) Signed-off-by: Su Lifan diff -aurN glibc-2.28.orig/libio/iopopen.c glibc-2.28/libio/iopopen.c --- glibc-2.28.orig/libio/iopopen.c 2018-08-01 05:10:47.000000000 +0000 +++ glibc-2.28/libio/iopopen.c 2022-04-08 11:33:15.487864923 +0000 @@ -35,6 +35,7 @@ #include #include #include +#include struct _IO_proc_file { @@ -168,6 +169,7 @@ _IO_lock_lock (proc_file_chain_lock); #endif ((_IO_proc_file *) fp)->next = proc_file_chain; + atomic_write_barrier(); proc_file_chain = (_IO_proc_file *) fp; #ifdef _IO_MTSAFE_IO _IO_lock_unlock (proc_file_chain_lock);