mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-23 11:55:03 +07:00
42859eea96
Pull generic execve() changes from Al Viro: "This introduces the generic kernel_thread() and kernel_execve() functions, and switches x86, arm, alpha, um and s390 over to them." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal: (26 commits) s390: convert to generic kernel_execve() s390: switch to generic kernel_thread() s390: fold kernel_thread_helper() into ret_from_fork() s390: fold execve_tail() into start_thread(), convert to generic sys_execve() um: switch to generic kernel_thread() x86, um/x86: switch to generic sys_execve and kernel_execve x86: split ret_from_fork alpha: introduce ret_from_kernel_execve(), switch to generic kernel_execve() alpha: switch to generic kernel_thread() alpha: switch to generic sys_execve() arm: get rid of execve wrapper, switch to generic execve() implementation arm: optimized current_pt_regs() arm: introduce ret_from_kernel_execve(), switch to generic kernel_execve() arm: split ret_from_fork, simplify kernel_thread() [based on patch by rmk] generic sys_execve() generic kernel_execve() new helper: current_pt_regs() preparation for generic kernel_thread() um: kill thread->forking um: let signal_delivered() do SIGTRAP on singlestepping into handler ...
88 lines
3.2 KiB
C
88 lines
3.2 KiB
C
/*
|
|
* sys_ia32.h - Linux ia32 syscall interfaces
|
|
*
|
|
* Copyright (c) 2008 Jaswinder Singh Rajput
|
|
*
|
|
* This file is released under the GPLv2.
|
|
* See the file COPYING for more details.
|
|
*/
|
|
|
|
#ifndef _ASM_X86_SYS_IA32_H
|
|
#define _ASM_X86_SYS_IA32_H
|
|
|
|
#ifdef CONFIG_COMPAT
|
|
|
|
#include <linux/compiler.h>
|
|
#include <linux/linkage.h>
|
|
#include <linux/types.h>
|
|
#include <linux/signal.h>
|
|
#include <asm/compat.h>
|
|
#include <asm/ia32.h>
|
|
|
|
/* ia32/sys_ia32.c */
|
|
asmlinkage long sys32_truncate64(const char __user *, unsigned long, unsigned long);
|
|
asmlinkage long sys32_ftruncate64(unsigned int, unsigned long, unsigned long);
|
|
|
|
asmlinkage long sys32_stat64(const char __user *, struct stat64 __user *);
|
|
asmlinkage long sys32_lstat64(const char __user *, struct stat64 __user *);
|
|
asmlinkage long sys32_fstat64(unsigned int, struct stat64 __user *);
|
|
asmlinkage long sys32_fstatat(unsigned int, const char __user *,
|
|
struct stat64 __user *, int);
|
|
struct mmap_arg_struct32;
|
|
asmlinkage long sys32_mmap(struct mmap_arg_struct32 __user *);
|
|
asmlinkage long sys32_mprotect(unsigned long, size_t, unsigned long);
|
|
|
|
struct sigaction32;
|
|
struct old_sigaction32;
|
|
asmlinkage long sys32_rt_sigaction(int, struct sigaction32 __user *,
|
|
struct sigaction32 __user *, unsigned int);
|
|
asmlinkage long sys32_sigaction(int, struct old_sigaction32 __user *,
|
|
struct old_sigaction32 __user *);
|
|
asmlinkage long sys32_alarm(unsigned int);
|
|
|
|
asmlinkage long sys32_waitpid(compat_pid_t, unsigned int __user *, int);
|
|
asmlinkage long sys32_sysfs(int, u32, u32);
|
|
|
|
asmlinkage long sys32_sched_rr_get_interval(compat_pid_t,
|
|
struct compat_timespec __user *);
|
|
asmlinkage long sys32_rt_sigpending(compat_sigset_t __user *, compat_size_t);
|
|
asmlinkage long sys32_rt_sigqueueinfo(int, int, compat_siginfo_t __user *);
|
|
|
|
asmlinkage long sys32_pread(unsigned int, char __user *, u32, u32, u32);
|
|
asmlinkage long sys32_pwrite(unsigned int, const char __user *, u32, u32, u32);
|
|
|
|
asmlinkage long sys32_personality(unsigned long);
|
|
asmlinkage long sys32_sendfile(int, int, compat_off_t __user *, s32);
|
|
|
|
asmlinkage long sys32_clone(unsigned int, unsigned int, struct pt_regs *);
|
|
|
|
long sys32_lseek(unsigned int, int, unsigned int);
|
|
long sys32_kill(int, int);
|
|
long sys32_fadvise64_64(int, __u32, __u32, __u32, __u32, int);
|
|
long sys32_vm86_warning(void);
|
|
long sys32_lookup_dcookie(u32, u32, char __user *, size_t);
|
|
|
|
asmlinkage ssize_t sys32_readahead(int, unsigned, unsigned, size_t);
|
|
asmlinkage long sys32_sync_file_range(int, unsigned, unsigned,
|
|
unsigned, unsigned, int);
|
|
asmlinkage long sys32_fadvise64(int, unsigned, unsigned, size_t, int);
|
|
asmlinkage long sys32_fallocate(int, int, unsigned,
|
|
unsigned, unsigned, unsigned);
|
|
|
|
/* ia32/ia32_signal.c */
|
|
asmlinkage long sys32_sigsuspend(int, int, old_sigset_t);
|
|
asmlinkage long sys32_sigaltstack(const stack_ia32_t __user *,
|
|
stack_ia32_t __user *, struct pt_regs *);
|
|
asmlinkage long sys32_sigreturn(struct pt_regs *);
|
|
asmlinkage long sys32_rt_sigreturn(struct pt_regs *);
|
|
|
|
/* ia32/ipc32.c */
|
|
asmlinkage long sys32_ipc(u32, int, int, int, compat_uptr_t, u32);
|
|
|
|
asmlinkage long sys32_fanotify_mark(int, unsigned int, u32, u32, int,
|
|
const char __user *);
|
|
|
|
#endif /* CONFIG_COMPAT */
|
|
|
|
#endif /* _ASM_X86_SYS_IA32_H */
|