Loading arch/arm/kernel/signal.c +0 −13 Original line number Original line Diff line number Diff line Loading @@ -29,7 +29,6 @@ */ */ #define SWI_SYS_SIGRETURN (0xef000000|(__NR_sigreturn)|(__NR_OABI_SYSCALL_BASE)) #define SWI_SYS_SIGRETURN (0xef000000|(__NR_sigreturn)|(__NR_OABI_SYSCALL_BASE)) #define SWI_SYS_RT_SIGRETURN (0xef000000|(__NR_rt_sigreturn)|(__NR_OABI_SYSCALL_BASE)) #define SWI_SYS_RT_SIGRETURN (0xef000000|(__NR_rt_sigreturn)|(__NR_OABI_SYSCALL_BASE)) #define SWI_SYS_RESTART (0xef000000|__NR_restart_syscall|__NR_OABI_SYSCALL_BASE) /* /* * With EABI, the syscall number has to be loaded into r7. * With EABI, the syscall number has to be loaded into r7. Loading @@ -49,18 +48,6 @@ const unsigned long sigreturn_codes[7] = { MOV_R7_NR_RT_SIGRETURN, SWI_SYS_RT_SIGRETURN, SWI_THUMB_RT_SIGRETURN, MOV_R7_NR_RT_SIGRETURN, SWI_SYS_RT_SIGRETURN, SWI_THUMB_RT_SIGRETURN, }; }; /* * Either we support OABI only, or we have EABI with the OABI * compat layer enabled. In the later case we don't know if * user space is EABI or not, and if not we must not clobber r7. * Always using the OABI syscall solves that issue and works for * all those cases. */ const unsigned long syscall_restart_code[2] = { SWI_SYS_RESTART, /* swi __NR_restart_syscall */ 0xe49df004, /* ldr pc, [sp], #4 */ }; /* /* * atomically swap in the new signal mask, and wait for a signal. * atomically swap in the new signal mask, and wait for a signal. */ */ Loading arch/arm/kernel/signal.h +0 −2 Original line number Original line Diff line number Diff line Loading @@ -8,7 +8,5 @@ * published by the Free Software Foundation. * published by the Free Software Foundation. */ */ #define KERN_SIGRETURN_CODE (CONFIG_VECTORS_BASE + 0x00000500) #define KERN_SIGRETURN_CODE (CONFIG_VECTORS_BASE + 0x00000500) #define KERN_RESTART_CODE (KERN_SIGRETURN_CODE + sizeof(sigreturn_codes)) extern const unsigned long sigreturn_codes[7]; extern const unsigned long sigreturn_codes[7]; extern const unsigned long syscall_restart_code[2]; arch/arm/kernel/traps.c +0 −2 Original line number Original line Diff line number Diff line Loading @@ -819,8 +819,6 @@ void __init early_trap_init(void *vectors_base) */ */ memcpy((void *)(vectors + KERN_SIGRETURN_CODE - CONFIG_VECTORS_BASE), memcpy((void *)(vectors + KERN_SIGRETURN_CODE - CONFIG_VECTORS_BASE), sigreturn_codes, sizeof(sigreturn_codes)); sigreturn_codes, sizeof(sigreturn_codes)); memcpy((void *)(vectors + KERN_RESTART_CODE - CONFIG_VECTORS_BASE), syscall_restart_code, sizeof(syscall_restart_code)); flush_icache_range(vectors, vectors + PAGE_SIZE); flush_icache_range(vectors, vectors + PAGE_SIZE); modify_domain(DOMAIN_USER, DOMAIN_CLIENT); modify_domain(DOMAIN_USER, DOMAIN_CLIENT); Loading Loading
arch/arm/kernel/signal.c +0 −13 Original line number Original line Diff line number Diff line Loading @@ -29,7 +29,6 @@ */ */ #define SWI_SYS_SIGRETURN (0xef000000|(__NR_sigreturn)|(__NR_OABI_SYSCALL_BASE)) #define SWI_SYS_SIGRETURN (0xef000000|(__NR_sigreturn)|(__NR_OABI_SYSCALL_BASE)) #define SWI_SYS_RT_SIGRETURN (0xef000000|(__NR_rt_sigreturn)|(__NR_OABI_SYSCALL_BASE)) #define SWI_SYS_RT_SIGRETURN (0xef000000|(__NR_rt_sigreturn)|(__NR_OABI_SYSCALL_BASE)) #define SWI_SYS_RESTART (0xef000000|__NR_restart_syscall|__NR_OABI_SYSCALL_BASE) /* /* * With EABI, the syscall number has to be loaded into r7. * With EABI, the syscall number has to be loaded into r7. Loading @@ -49,18 +48,6 @@ const unsigned long sigreturn_codes[7] = { MOV_R7_NR_RT_SIGRETURN, SWI_SYS_RT_SIGRETURN, SWI_THUMB_RT_SIGRETURN, MOV_R7_NR_RT_SIGRETURN, SWI_SYS_RT_SIGRETURN, SWI_THUMB_RT_SIGRETURN, }; }; /* * Either we support OABI only, or we have EABI with the OABI * compat layer enabled. In the later case we don't know if * user space is EABI or not, and if not we must not clobber r7. * Always using the OABI syscall solves that issue and works for * all those cases. */ const unsigned long syscall_restart_code[2] = { SWI_SYS_RESTART, /* swi __NR_restart_syscall */ 0xe49df004, /* ldr pc, [sp], #4 */ }; /* /* * atomically swap in the new signal mask, and wait for a signal. * atomically swap in the new signal mask, and wait for a signal. */ */ Loading
arch/arm/kernel/signal.h +0 −2 Original line number Original line Diff line number Diff line Loading @@ -8,7 +8,5 @@ * published by the Free Software Foundation. * published by the Free Software Foundation. */ */ #define KERN_SIGRETURN_CODE (CONFIG_VECTORS_BASE + 0x00000500) #define KERN_SIGRETURN_CODE (CONFIG_VECTORS_BASE + 0x00000500) #define KERN_RESTART_CODE (KERN_SIGRETURN_CODE + sizeof(sigreturn_codes)) extern const unsigned long sigreturn_codes[7]; extern const unsigned long sigreturn_codes[7]; extern const unsigned long syscall_restart_code[2];
arch/arm/kernel/traps.c +0 −2 Original line number Original line Diff line number Diff line Loading @@ -819,8 +819,6 @@ void __init early_trap_init(void *vectors_base) */ */ memcpy((void *)(vectors + KERN_SIGRETURN_CODE - CONFIG_VECTORS_BASE), memcpy((void *)(vectors + KERN_SIGRETURN_CODE - CONFIG_VECTORS_BASE), sigreturn_codes, sizeof(sigreturn_codes)); sigreturn_codes, sizeof(sigreturn_codes)); memcpy((void *)(vectors + KERN_RESTART_CODE - CONFIG_VECTORS_BASE), syscall_restart_code, sizeof(syscall_restart_code)); flush_icache_range(vectors, vectors + PAGE_SIZE); flush_icache_range(vectors, vectors + PAGE_SIZE); modify_domain(DOMAIN_USER, DOMAIN_CLIENT); modify_domain(DOMAIN_USER, DOMAIN_CLIENT); Loading