void-packages/srcpkgs/libffi/patches/libffi-race-condition.patch
Jürgen Buchmüller a369f4e48d
libffi: import (some) Debian patches
The Debian team has some patches which we were missing.
This set does not address the ppc64* failing tests, though.
I did not include patches for alpha or riscv becase we
do not (yet) support these target architectures.

Signed-off-by: Jürgen Buchmüller <pullmoll@t-online.de>
2019-05-08 15:33:50 +02:00

38 lines
1.1 KiB
Diff

Description: fixes race condition
Author: Stefan Bühler <buehler@cert.uni-stuttgart.de>
Origin: libffi_3.2.1-9.debian.tar.xz
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(-)
--- src/closures.c
+++ 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