diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2017-05-13 13:54:49 +0300 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2017-05-13 13:54:49 +0300 |
commit | 42156b5190f4fa150e1fab6777eb81e69d4db8c9 (patch) | |
tree | 3bf47de81cf1f89892789535a036d2d55d93a136 /debian/patches/libffi-race-condition.diff | |
download | gcc-9-debian/6.3.0-17.tar.gz |
Imported gcc-6 (6.3.0-17)debian/6.3.0-17
Diffstat (limited to 'debian/patches/libffi-race-condition.diff')
-rw-r--r-- | debian/patches/libffi-race-condition.diff | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/debian/patches/libffi-race-condition.diff b/debian/patches/libffi-race-condition.diff new file mode 100644 index 0000000..686ec79 --- /dev/null +++ b/debian/patches/libffi-race-condition.diff @@ -0,0 +1,33 @@ +From 48d2e46528fb6e621d95a7fa194069fd136b712d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20B=C3=BChler?= <buehler@cert.uni-stuttgart.de> +Date: Wed, 7 Sep 2016 15:49:48 +0200 +Subject: [PATCH 1/2] dlmmap_locked always needs locking as it always modifies + execsize + +--- + src/closures.c | 13 ++++--------- + 1 file changed, 4 insertions(+), 9 deletions(-) + +--- a/src/libffi/src/closures.c ++++ b/src/libffi/src/closures.c +@@ -568,16 +568,11 @@ + MREMAP_DUP and prot at this point. */ + } + +- if (execsize == 0 || execfd == -1) +- { +- pthread_mutex_lock (&open_temp_exec_file_mutex); +- ptr = dlmmap_locked (start, length, prot, flags, offset); +- pthread_mutex_unlock (&open_temp_exec_file_mutex); ++ pthread_mutex_lock (&open_temp_exec_file_mutex); ++ ptr = dlmmap_locked (start, length, prot, flags, offset); ++ pthread_mutex_unlock (&open_temp_exec_file_mutex); + +- return ptr; +- } +- +- return dlmmap_locked (start, length, prot, flags, offset); ++ return ptr; + } + + /* Release memory at the given address, as well as the corresponding |