diff options
author | Nicolas Iooss <nicolas.iooss_linux@m4x.org> | 2014-10-12 07:02:13 -0400 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2015-05-31 07:14:07 -0400 |
commit | 5f32943b5e9a48bf3269430e1a7a210411e0cc98 (patch) | |
tree | fe79cd121b75b25f74d94db19806612ee032fbcc /arch/um | |
parent | 05eacfd00ccf239a24cfb409b084fa126c2e9468 (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.c | 6 | ||||
-rw-r--r-- | arch/um/os-Linux/skas/process.c | 8 |
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 | ||
21 | extern unsigned long batch_syscall_stub, __syscall_stub_start; | 21 | extern char batch_syscall_stub[], __syscall_stub_start[]; |
22 | 22 | ||
23 | extern void wait_stub_done(int pid); | 23 | extern 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 | ||
177 | extern int __syscall_stub_start; | 177 | extern char __syscall_stub_start[]; |
178 | 178 | ||
179 | static int userspace_tramp(void *stack) | 179 | static 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 |