summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/qemu/qemu/0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/qemu/qemu/0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch')
-rw-r--r--meta/recipes-devtools/qemu/qemu/0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch29
1 files changed, 15 insertions, 14 deletions
diff --git a/meta/recipes-devtools/qemu/qemu/0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch b/meta/recipes-devtools/qemu/qemu/0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch
index 41626eb87c..066ea7865a 100644
--- a/meta/recipes-devtools/qemu/qemu/0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch
+++ b/meta/recipes-devtools/qemu/qemu/0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch
@@ -1,4 +1,4 @@
1From 3ed26be2091436296933ed2146f7269c791c7bfe Mon Sep 17 00:00:00 2001 1From 496231774f8bc17ecfaf543a6603e3cad3f3f74e Mon Sep 17 00:00:00 2001
2From: Martin Jansa <martin.jansa@lge.com> 2From: Martin Jansa <martin.jansa@lge.com>
3Date: Fri, 1 Jun 2018 08:41:07 +0000 3Date: Fri, 1 Jun 2018 08:41:07 +0000
4Subject: [PATCH] Revert "linux-user: fix mmap/munmap/mprotect/mremap/shmat" 4Subject: [PATCH] Revert "linux-user: fix mmap/munmap/mprotect/mremap/shmat"
@@ -14,6 +14,7 @@ http://lists.openembedded.org/pipermail/openembedded-core/2018-June/151382.html
14This reverts commit ebf9a3630c911d0cfc9c20f7cafe9ba4f88cf583. 14This reverts commit ebf9a3630c911d0cfc9c20f7cafe9ba4f88cf583.
15 15
16Upstream-Status: Pending 16Upstream-Status: Pending
17
17--- 18---
18 include/exec/cpu-all.h | 6 +----- 19 include/exec/cpu-all.h | 6 +-----
19 include/exec/cpu_ldst.h | 16 +++++++++------- 20 include/exec/cpu_ldst.h | 16 +++++++++-------
@@ -22,10 +23,10 @@ Upstream-Status: Pending
22 4 files changed, 15 insertions(+), 29 deletions(-) 23 4 files changed, 15 insertions(+), 29 deletions(-)
23 24
24diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h 25diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
25index f4fa94e966..0b141683f0 100644 26index 117d2fbb..90558c14 100644
26--- a/include/exec/cpu-all.h 27--- a/include/exec/cpu-all.h
27+++ b/include/exec/cpu-all.h 28+++ b/include/exec/cpu-all.h
28@@ -159,12 +159,8 @@ extern unsigned long guest_base; 29@@ -163,12 +163,8 @@ extern unsigned long guest_base;
29 extern int have_guest_base; 30 extern int have_guest_base;
30 extern unsigned long reserved_va; 31 extern unsigned long reserved_va;
31 32
@@ -40,12 +41,12 @@ index f4fa94e966..0b141683f0 100644
40 41
41 #include "exec/hwaddr.h" 42 #include "exec/hwaddr.h"
42diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h 43diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h
43index 5de8c8a5af..191f2e962a 100644 44index 95906849..ed17b3f6 100644
44--- a/include/exec/cpu_ldst.h 45--- a/include/exec/cpu_ldst.h
45+++ b/include/exec/cpu_ldst.h 46+++ b/include/exec/cpu_ldst.h
46@@ -51,13 +51,15 @@ 47@@ -62,13 +62,15 @@ typedef uint64_t abi_ptr;
47 /* All direct uses of g2h and h2g need to go away for usermode softmmu. */ 48 /* All direct uses of g2h and h2g need to go away for usermode softmmu. */
48 #define g2h(x) ((void *)((unsigned long)(target_ulong)(x) + guest_base)) 49 #define g2h(x) ((void *)((unsigned long)(abi_ptr)(x) + guest_base))
49 50
50-#define guest_addr_valid(x) ((x) <= GUEST_ADDR_MAX) 51-#define guest_addr_valid(x) ((x) <= GUEST_ADDR_MAX)
51-#define h2g_valid(x) guest_addr_valid((unsigned long)(x) - guest_base) 52-#define h2g_valid(x) guest_addr_valid((unsigned long)(x) - guest_base)
@@ -67,10 +68,10 @@ index 5de8c8a5af..191f2e962a 100644
67 #define h2g_nocheck(x) ({ \ 68 #define h2g_nocheck(x) ({ \
68 unsigned long __ret = (unsigned long)(x) - guest_base; \ 69 unsigned long __ret = (unsigned long)(x) - guest_base; \
69diff --git a/linux-user/mmap.c b/linux-user/mmap.c 70diff --git a/linux-user/mmap.c b/linux-user/mmap.c
70index 9168a2051c..de85669aab 100644 71index 41e0983c..d0ee1c53 100644
71--- a/linux-user/mmap.c 72--- a/linux-user/mmap.c
72+++ b/linux-user/mmap.c 73+++ b/linux-user/mmap.c
73@@ -80,7 +80,7 @@ int target_mprotect(abi_ulong start, abi_ulong len, int prot) 74@@ -79,7 +79,7 @@ int target_mprotect(abi_ulong start, abi_ulong len, int prot)
74 return -TARGET_EINVAL; 75 return -TARGET_EINVAL;
75 len = TARGET_PAGE_ALIGN(len); 76 len = TARGET_PAGE_ALIGN(len);
76 end = start + len; 77 end = start + len;
@@ -79,7 +80,7 @@ index 9168a2051c..de85669aab 100644
79 return -TARGET_ENOMEM; 80 return -TARGET_ENOMEM;
80 } 81 }
81 prot &= PROT_READ | PROT_WRITE | PROT_EXEC; 82 prot &= PROT_READ | PROT_WRITE | PROT_EXEC;
82@@ -482,8 +482,8 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot, 83@@ -490,8 +490,8 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
83 * It can fail only on 64-bit host with 32-bit target. 84 * It can fail only on 64-bit host with 32-bit target.
84 * On any other target/host host mmap() handles this error correctly. 85 * On any other target/host host mmap() handles this error correctly.
85 */ 86 */
@@ -90,7 +91,7 @@ index 9168a2051c..de85669aab 100644
90 goto fail; 91 goto fail;
91 } 92 }
92 93
93@@ -623,10 +623,8 @@ int target_munmap(abi_ulong start, abi_ulong len) 94@@ -631,10 +631,8 @@ int target_munmap(abi_ulong start, abi_ulong len)
94 if (start & ~TARGET_PAGE_MASK) 95 if (start & ~TARGET_PAGE_MASK)
95 return -TARGET_EINVAL; 96 return -TARGET_EINVAL;
96 len = TARGET_PAGE_ALIGN(len); 97 len = TARGET_PAGE_ALIGN(len);
@@ -102,7 +103,7 @@ index 9168a2051c..de85669aab 100644
102 mmap_lock(); 103 mmap_lock();
103 end = start + len; 104 end = start + len;
104 real_start = start & qemu_host_page_mask; 105 real_start = start & qemu_host_page_mask;
105@@ -681,13 +679,6 @@ abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size, 106@@ -689,13 +687,6 @@ abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size,
106 int prot; 107 int prot;
107 void *host_addr; 108 void *host_addr;
108 109
@@ -117,10 +118,10 @@ index 9168a2051c..de85669aab 100644
117 118
118 if (flags & MREMAP_FIXED) { 119 if (flags & MREMAP_FIXED) {
119diff --git a/linux-user/syscall.c b/linux-user/syscall.c 120diff --git a/linux-user/syscall.c b/linux-user/syscall.c
120index 643b8833de..271f215147 100644 121index 280137da..efdd0006 100644
121--- a/linux-user/syscall.c 122--- a/linux-user/syscall.c
122+++ b/linux-user/syscall.c 123+++ b/linux-user/syscall.c
123@@ -4919,9 +4919,6 @@ static inline abi_ulong do_shmat(CPUArchState *cpu_env, 124@@ -3818,9 +3818,6 @@ static inline abi_ulong do_shmat(CPUArchState *cpu_env,
124 return -TARGET_EINVAL; 125 return -TARGET_EINVAL;
125 } 126 }
126 } 127 }
@@ -130,7 +131,7 @@ index 643b8833de..271f215147 100644
130 131
131 mmap_lock(); 132 mmap_lock();
132 133
133@@ -7497,7 +7494,7 @@ static int open_self_maps(void *cpu_env, int fd) 134@@ -6582,7 +6579,7 @@ static int open_self_maps(void *cpu_env, int fd)
134 } 135 }
135 if (h2g_valid(min)) { 136 if (h2g_valid(min)) {
136 int flags = page_get_flags(h2g(min)); 137 int flags = page_get_flags(h2g(min));