diff options
Diffstat (limited to 'arch/avr32/kernel')
-rw-r--r-- | arch/avr32/kernel/asm-offsets.c | 1 | ||||
-rw-r--r-- | arch/avr32/kernel/module.c | 13 | ||||
-rw-r--r-- | arch/avr32/kernel/signal.c | 2 | ||||
-rw-r--r-- | arch/avr32/kernel/syscall-stubs.S | 36 | ||||
-rw-r--r-- | arch/avr32/kernel/syscall_table.S | 37 |
5 files changed, 75 insertions, 14 deletions
diff --git a/arch/avr32/kernel/asm-offsets.c b/arch/avr32/kernel/asm-offsets.c index d6a8193a1d2..e41c84516e5 100644 --- a/arch/avr32/kernel/asm-offsets.c +++ b/arch/avr32/kernel/asm-offsets.c @@ -18,7 +18,6 @@ void foo(void) OFFSET(TI_preempt_count, thread_info, preempt_count); OFFSET(TI_rar_saved, thread_info, rar_saved); OFFSET(TI_rsr_saved, thread_info, rsr_saved); - OFFSET(TI_restart_block, thread_info, restart_block); BLANK(); OFFSET(TSK_active_mm, task_struct, active_mm); BLANK(); diff --git a/arch/avr32/kernel/module.c b/arch/avr32/kernel/module.c index 2c941290802..164efa009e5 100644 --- a/arch/avr32/kernel/module.c +++ b/arch/avr32/kernel/module.c @@ -19,12 +19,10 @@ #include <linux/moduleloader.h> #include <linux/vmalloc.h> -void module_free(struct module *mod, void *module_region) +void module_arch_freeing_init(struct module *mod) { vfree(mod->arch.syminfo); mod->arch.syminfo = NULL; - - vfree(module_region); } static inline int check_rela(Elf32_Rela *rela, struct module *module, @@ -291,12 +289,3 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, const char *strtab, return ret; } - -int module_finalize(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs, - struct module *module) -{ - vfree(module->arch.syminfo); - module->arch.syminfo = NULL; - - return 0; -} diff --git a/arch/avr32/kernel/signal.c b/arch/avr32/kernel/signal.c index d309fbcc3bd..8f1c63b9b98 100644 --- a/arch/avr32/kernel/signal.c +++ b/arch/avr32/kernel/signal.c @@ -69,7 +69,7 @@ asmlinkage int sys_rt_sigreturn(struct pt_regs *regs) sigset_t set; /* Always make any pending restarted system calls return -EINTR */ - current_thread_info()->restart_block.fn = do_no_restart_syscall; + current->restart_block.fn = do_no_restart_syscall; frame = (struct rt_sigframe __user *)regs->sp; pr_debug("SIG return: frame = %p\n", frame); diff --git a/arch/avr32/kernel/syscall-stubs.S b/arch/avr32/kernel/syscall-stubs.S index b5fc927cd39..f9c68fab0e2 100644 --- a/arch/avr32/kernel/syscall-stubs.S +++ b/arch/avr32/kernel/syscall-stubs.S @@ -88,3 +88,39 @@ __sys_sync_file_range: call sys_sync_file_range sub sp, -4 popm pc + + .global __sys_fallocate + .type __sys_fallocate,@function +__sys_fallocate: + pushm lr + st.w --sp, ARG6 + call sys_fallocate + sub sp, -4 + popm pc + + .global __sys_fanotify_mark + .type __sys_fanotify_mark,@function +__sys_fanotify_mark: + pushm lr + st.w --sp, ARG6 + call sys_fanotify_mark + sub sp, -4 + popm pc + + .global __sys_process_vm_readv + .type __sys_process_vm_readv,@function +__sys_process_vm_readv: + pushm lr + st.w --sp, ARG6 + call sys_process_vm_readv + sub sp, -4 + popm pc + + .global __sys_process_vm_writev + .type __sys_process_vm_writev,@function +__sys_process_vm_writev: + pushm lr + st.w --sp, ARG6 + call sys_process_vm_writev + sub sp, -4 + popm pc diff --git a/arch/avr32/kernel/syscall_table.S b/arch/avr32/kernel/syscall_table.S index 017a904180c..c3b593bfc3b 100644 --- a/arch/avr32/kernel/syscall_table.S +++ b/arch/avr32/kernel/syscall_table.S @@ -297,4 +297,41 @@ sys_call_table: .long sys_eventfd .long sys_recvmmsg .long sys_setns + .long sys_pread64 + .long sys_pwrite64 /* 285 */ + .long sys_timerfd_create + .long __sys_fallocate + .long sys_timerfd_settime + .long sys_timerfd_gettime + .long sys_signalfd4 /* 290 */ + .long sys_eventfd2 + .long sys_epoll_create1 + .long sys_dup3 + .long sys_pipe2 + .long sys_inotify_init1 /* 295 */ + .long sys_preadv + .long sys_pwritev + .long sys_rt_tgsigqueueinfo + .long sys_perf_event_open + .long sys_recvmmsg /* 300 */ + .long sys_fanotify_init + .long __sys_fanotify_mark + .long sys_prlimit64 + .long sys_name_to_handle_at + .long sys_open_by_handle_at /* 305 */ + .long sys_clock_adjtime + .long sys_syncfs + .long sys_sendmmsg + .long __sys_process_vm_readv + .long __sys_process_vm_writev /* 310 */ + .long sys_kcmp + .long sys_finit_module + .long sys_sched_setattr + .long sys_sched_getattr + .long sys_renameat2 /* 315 */ + .long sys_seccomp + .long sys_getrandom + .long sys_memfd_create + .long sys_bpf + .long sys_execveat /* 320 */ .long sys_ni_syscall /* r8 is saturated at nr_syscalls */ |