aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um
diff options
context:
space:
mode:
authorNicolas Iooss <nicolas.iooss_linux@m4x.org>2014-10-12 07:02:13 -0400
committerRichard Weinberger <richard@nod.at>2015-05-31 07:14:07 -0400
commit5f32943b5e9a48bf3269430e1a7a210411e0cc98 (patch)
treefe79cd121b75b25f74d94db19806612ee032fbcc /arch/um
parent05eacfd00ccf239a24cfb409b084fa126c2e9468 (diff)
um/os-Linux: Use char[] for syscall_stub declarations
When declaring __syscall_stub_start, use the same type in UML userspace code as in arch/um/include/asm/sections.h. While at it, also declare batch_syscall_stub as char[]. Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org> Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/um')
-rw-r--r--arch/um/os-Linux/skas/mem.c6
-rw-r--r--arch/um/os-Linux/skas/process.c8
2 files changed, 7 insertions, 7 deletions
diff --git a/arch/um/os-Linux/skas/mem.c b/arch/um/os-Linux/skas/mem.c
index e7f8c945a573..35015e3e1e87 100644
--- a/arch/um/os-Linux/skas/mem.c
+++ b/arch/um/os-Linux/skas/mem.c
@@ -18,7 +18,7 @@
18#include <sysdep/ptrace.h> 18#include <sysdep/ptrace.h>
19#include <sysdep/stub.h> 19#include <sysdep/stub.h>
20 20
21extern unsigned long batch_syscall_stub, __syscall_stub_start; 21extern char batch_syscall_stub[], __syscall_stub_start[];
22 22
23extern void wait_stub_done(int pid); 23extern void wait_stub_done(int pid);
24 24
@@ -38,8 +38,8 @@ static int __init init_syscall_regs(void)
38{ 38{
39 get_safe_registers(syscall_regs, NULL); 39 get_safe_registers(syscall_regs, NULL);
40 syscall_regs[REGS_IP_INDEX] = STUB_CODE + 40 syscall_regs[REGS_IP_INDEX] = STUB_CODE +
41 ((unsigned long) &batch_syscall_stub - 41 ((unsigned long) batch_syscall_stub -
42 (unsigned long) &__syscall_stub_start); 42 (unsigned long) __syscall_stub_start);
43 return 0; 43 return 0;
44} 44}
45 45
diff --git a/arch/um/os-Linux/skas/process.c b/arch/um/os-Linux/skas/process.c
index 7a9777570a62..3dddedba3a07 100644
--- a/arch/um/os-Linux/skas/process.c
+++ b/arch/um/os-Linux/skas/process.c
@@ -174,7 +174,7 @@ static void handle_trap(int pid, struct uml_pt_regs *regs,
174 handle_syscall(regs); 174 handle_syscall(regs);
175} 175}
176 176
177extern int __syscall_stub_start; 177extern char __syscall_stub_start[];
178 178
179static int userspace_tramp(void *stack) 179static int userspace_tramp(void *stack)
180{ 180{
@@ -197,7 +197,7 @@ static int userspace_tramp(void *stack)
197 * This has a pte, but it can't be mapped in with the usual 197 * This has a pte, but it can't be mapped in with the usual
198 * tlb_flush mechanism because this is part of that mechanism 198 * tlb_flush mechanism because this is part of that mechanism
199 */ 199 */
200 fd = phys_mapping(to_phys(&__syscall_stub_start), &offset); 200 fd = phys_mapping(to_phys(__syscall_stub_start), &offset);
201 addr = mmap64((void *) STUB_CODE, UM_KERN_PAGE_SIZE, 201 addr = mmap64((void *) STUB_CODE, UM_KERN_PAGE_SIZE,
202 PROT_EXEC, MAP_FIXED | MAP_PRIVATE, fd, offset); 202 PROT_EXEC, MAP_FIXED | MAP_PRIVATE, fd, offset);
203 if (addr == MAP_FAILED) { 203 if (addr == MAP_FAILED) {
@@ -223,7 +223,7 @@ static int userspace_tramp(void *stack)
223 223
224 unsigned long v = STUB_CODE + 224 unsigned long v = STUB_CODE +
225 (unsigned long) stub_segv_handler - 225 (unsigned long) stub_segv_handler -
226 (unsigned long) &__syscall_stub_start; 226 (unsigned long) __syscall_stub_start;
227 227
228 set_sigstack((void *) STUB_DATA, UM_KERN_PAGE_SIZE); 228 set_sigstack((void *) STUB_DATA, UM_KERN_PAGE_SIZE);
229 sigemptyset(&sa.sa_mask); 229 sigemptyset(&sa.sa_mask);
@@ -447,7 +447,7 @@ static int __init init_thread_regs(void)
447 /* Set parent's instruction pointer to start of clone-stub */ 447 /* Set parent's instruction pointer to start of clone-stub */
448 thread_regs[REGS_IP_INDEX] = STUB_CODE + 448 thread_regs[REGS_IP_INDEX] = STUB_CODE +
449 (unsigned long) stub_clone_handler - 449 (unsigned long) stub_clone_handler -
450 (unsigned long) &__syscall_stub_start; 450 (unsigned long) __syscall_stub_start;
451 thread_regs[REGS_SP_INDEX] = STUB_DATA + UM_KERN_PAGE_SIZE - 451 thread_regs[REGS_SP_INDEX] = STUB_DATA + UM_KERN_PAGE_SIZE -
452 sizeof(void *); 452 sizeof(void *);
453#ifdef __SIGNAL_FRAMESIZE 453#ifdef __SIGNAL_FRAMESIZE