aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-mono/mono/mono-6.12.0.182/disable-mmap-MAP_32BIT-support.patch
blob: 0c998a28a7af2565a2532d233ca16302b561b13d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
From e019d4ac4735e774d0a3c15bb36d5eb3ebfa3053 Mon Sep 17 00:00:00 2001
From: Raphael Robatsch <raphael-git@tapesoftware.net>
Date: Tue, 9 May 2023 11:55:02 +0200
Subject: [PATCH] Disable mmap(MAP_32BIT) support

mmap(2) with flag MAP_32BIT can erroneously return ENOMEM on recent
kernels. Disable MAP_32BIT support for now.

Reference: https://lore.kernel.org/linux-mm/cb8dc31a-fef2-1d09-f133-e9f7b9f9e77a@sony.com/
Reference: https://lore.kernel.org/all/20230414185919.4175572-1-Liam.Howlett@oracle.com/T/#m00a0ac8a72bf2f26711b7f8cc56612a8ef62c3d0
---
 mono/mini/mini-amd64.h    | 2 --
 mono/utils/mono-codeman.c | 4 ----
 2 files changed, 6 deletions(-)

diff --git a/mono/mini/mini-amd64.h b/mono/mini/mini-amd64.h
index b321743b67d..0a81bb4bd6b 100644
--- a/mono/mini/mini-amd64.h
+++ b/mono/mini/mini-amd64.h
@@ -390,9 +390,7 @@
 
 #endif /* !HOST_WIN32 */
 
-#if !defined(__linux__)
 #define MONO_ARCH_NOMAP32BIT 1
-#endif
 
 #ifdef TARGET_WIN32
 #define MONO_AMD64_ARG_REG1 AMD64_RCX
diff --git a/mono/utils/mono-codeman.c b/mono/utils/mono-codeman.c
index 234aac4b0ca..5eccda92bd0 100644
--- a/mono/utils/mono-codeman.c
+++ b/mono/utils/mono-codeman.c
@@ -68,11 +68,7 @@ static const MonoCodeManagerCallbacks *code_manager_callbacks;
 #define MAX_WASTAGE 32
 #define MIN_BSIZE 32

-#ifdef __x86_64__
-#define ARCH_MAP_FLAGS MONO_MMAP_32BIT
-#else
 #define ARCH_MAP_FLAGS 0
-#endif

 #define MONO_PROT_RWX (MONO_MMAP_READ|MONO_MMAP_WRITE|MONO_MMAP_EXEC|MONO_MMAP_JIT)

--
2.40.1