Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
26689452
Commit
26689452
authored
Jan 14, 2009
by
Heiko Carstens
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[CVE-2009-0029] s390 specific system call wrappers
Signed-off-by:
Heiko Carstens
<
heiko.carstens@de.ibm.com
>
parent
2b664219
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
50 additions
and
44 deletions
+50
-44
arch/s390/kernel/compat_wrapper.S
arch/s390/kernel/compat_wrapper.S
+2
-2
arch/s390/kernel/entry.h
arch/s390/kernel/entry.h
+8
-7
arch/s390/kernel/process.c
arch/s390/kernel/process.c
+5
-4
arch/s390/kernel/signal.c
arch/s390/kernel/signal.c
+8
-11
arch/s390/kernel/sys_s390.c
arch/s390/kernel/sys_s390.c
+21
-14
arch/s390/kernel/syscalls.S
arch/s390/kernel/syscalls.S
+6
-6
No files found.
arch/s390/kernel/compat_wrapper.S
View file @
26689452
...
@@ -547,7 +547,7 @@ sys32_setdomainname_wrapper:
...
@@ -547,7 +547,7 @@ sys32_setdomainname_wrapper:
.
globl
sys32_newuname_wrapper
.
globl
sys32_newuname_wrapper
sys32_newuname_wrapper
:
sys32_newuname_wrapper
:
llgtr
%
r2
,%
r2
#
struct
new_utsname
*
llgtr
%
r2
,%
r2
#
struct
new_utsname
*
jg
s
390x_newuname
#
branch
to
system
call
jg
s
ys_s390_newuname
#
branch
to
system
call
.
globl
compat_sys_adjtimex_wrapper
.
globl
compat_sys_adjtimex_wrapper
compat_sys_adjtimex_wrapper
:
compat_sys_adjtimex_wrapper
:
...
@@ -615,7 +615,7 @@ sys32_sysfs_wrapper:
...
@@ -615,7 +615,7 @@ sys32_sysfs_wrapper:
.
globl
sys32_personality_wrapper
.
globl
sys32_personality_wrapper
sys32_personality_wrapper
:
sys32_personality_wrapper
:
llgfr
%
r2
,%
r2
#
unsigned
long
llgfr
%
r2
,%
r2
#
unsigned
long
jg
s
390x
_personality
#
branch
to
system
call
jg
s
ys_s390
_personality
#
branch
to
system
call
.
globl
sys32_setfsuid16_wrapper
.
globl
sys32_setfsuid16_wrapper
sys32_setfsuid16_wrapper
:
sys32_setfsuid16_wrapper
:
...
...
arch/s390/kernel/entry.h
View file @
26689452
...
@@ -31,21 +31,22 @@ struct old_sigaction;
...
@@ -31,21 +31,22 @@ struct old_sigaction;
struct
sel_arg_struct
;
struct
sel_arg_struct
;
long
sys_mmap2
(
struct
mmap_arg_struct
__user
*
arg
);
long
sys_mmap2
(
struct
mmap_arg_struct
__user
*
arg
);
long
old_mmap
(
struct
mmap_arg_struct
__user
*
arg
);
long
sys_s390_
old_mmap
(
struct
mmap_arg_struct
__user
*
arg
);
long
sys_ipc
(
uint
call
,
int
first
,
unsigned
long
second
,
long
sys_ipc
(
uint
call
,
int
first
,
unsigned
long
second
,
unsigned
long
third
,
void
__user
*
ptr
);
unsigned
long
third
,
void
__user
*
ptr
);
long
s
390x
_newuname
(
struct
new_utsname
__user
*
name
);
long
s
ys_s390
_newuname
(
struct
new_utsname
__user
*
name
);
long
s
390x
_personality
(
unsigned
long
personality
);
long
s
ys_s390
_personality
(
unsigned
long
personality
);
long
s390_fadvise64
(
int
fd
,
u32
offset_high
,
u32
offset_low
,
long
s
ys_s
390_fadvise64
(
int
fd
,
u32
offset_high
,
u32
offset_low
,
size_t
len
,
int
advice
);
size_t
len
,
int
advice
);
long
s390_fadvise64_64
(
struct
fadvise64_64_args
__user
*
args
);
long
sys_s390_fadvise64_64
(
struct
fadvise64_64_args
__user
*
args
);
long
s390_fallocate
(
int
fd
,
int
mode
,
loff_t
offset
,
u32
len_high
,
u32
len_low
);
long
sys_s390_fallocate
(
int
fd
,
int
mode
,
loff_t
offset
,
u32
len_high
,
u32
len_low
);
long
sys_fork
(
void
);
long
sys_fork
(
void
);
long
sys_clone
(
void
);
long
sys_clone
(
void
);
long
sys_vfork
(
void
);
long
sys_vfork
(
void
);
void
execve_tail
(
void
);
void
execve_tail
(
void
);
long
sys_execve
(
void
);
long
sys_execve
(
void
);
int
sys_sigsuspend
(
int
history0
,
int
history1
,
old_sigset_t
mask
);
long
sys_sigsuspend
(
int
history0
,
int
history1
,
old_sigset_t
mask
);
long
sys_sigaction
(
int
sig
,
const
struct
old_sigaction
__user
*
act
,
long
sys_sigaction
(
int
sig
,
const
struct
old_sigaction
__user
*
act
,
struct
old_sigaction
__user
*
oact
);
struct
old_sigaction
__user
*
oact
);
long
sys_sigaltstack
(
const
stack_t
__user
*
uss
,
stack_t
__user
*
uoss
);
long
sys_sigaltstack
(
const
stack_t
__user
*
uss
,
stack_t
__user
*
uoss
);
...
...
arch/s390/kernel/process.c
View file @
26689452
...
@@ -39,6 +39,7 @@
...
@@ -39,6 +39,7 @@
#include <linux/tick.h>
#include <linux/tick.h>
#include <linux/elfcore.h>
#include <linux/elfcore.h>
#include <linux/kernel_stat.h>
#include <linux/kernel_stat.h>
#include <linux/syscalls.h>
#include <asm/uaccess.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
#include <asm/pgtable.h>
#include <asm/system.h>
#include <asm/system.h>
...
@@ -225,13 +226,13 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long new_stackp,
...
@@ -225,13 +226,13 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long new_stackp,
return
0
;
return
0
;
}
}
asmlinkage
long
sys_fork
(
void
)
SYSCALL_DEFINE0
(
fork
)
{
{
struct
pt_regs
*
regs
=
task_pt_regs
(
current
);
struct
pt_regs
*
regs
=
task_pt_regs
(
current
);
return
do_fork
(
SIGCHLD
,
regs
->
gprs
[
15
],
regs
,
0
,
NULL
,
NULL
);
return
do_fork
(
SIGCHLD
,
regs
->
gprs
[
15
],
regs
,
0
,
NULL
,
NULL
);
}
}
asmlinkage
long
sys_clone
(
void
)
SYSCALL_DEFINE0
(
clone
)
{
{
struct
pt_regs
*
regs
=
task_pt_regs
(
current
);
struct
pt_regs
*
regs
=
task_pt_regs
(
current
);
unsigned
long
clone_flags
;
unsigned
long
clone_flags
;
...
@@ -258,7 +259,7 @@ asmlinkage long sys_clone(void)
...
@@ -258,7 +259,7 @@ asmlinkage long sys_clone(void)
* do not have enough call-clobbered registers to hold all
* do not have enough call-clobbered registers to hold all
* the information you need.
* the information you need.
*/
*/
asmlinkage
long
sys_vfork
(
void
)
SYSCALL_DEFINE0
(
vfork
)
{
{
struct
pt_regs
*
regs
=
task_pt_regs
(
current
);
struct
pt_regs
*
regs
=
task_pt_regs
(
current
);
return
do_fork
(
CLONE_VFORK
|
CLONE_VM
|
SIGCHLD
,
return
do_fork
(
CLONE_VFORK
|
CLONE_VM
|
SIGCHLD
,
...
@@ -278,7 +279,7 @@ asmlinkage void execve_tail(void)
...
@@ -278,7 +279,7 @@ asmlinkage void execve_tail(void)
/*
/*
* sys_execve() executes a new program.
* sys_execve() executes a new program.
*/
*/
asmlinkage
long
sys_execve
(
void
)
SYSCALL_DEFINE0
(
execve
)
{
{
struct
pt_regs
*
regs
=
task_pt_regs
(
current
);
struct
pt_regs
*
regs
=
task_pt_regs
(
current
);
char
*
filename
;
char
*
filename
;
...
...
arch/s390/kernel/signal.c
View file @
26689452
...
@@ -25,6 +25,7 @@
...
@@ -25,6 +25,7 @@
#include <linux/personality.h>
#include <linux/personality.h>
#include <linux/binfmts.h>
#include <linux/binfmts.h>
#include <linux/tracehook.h>
#include <linux/tracehook.h>
#include <linux/syscalls.h>
#include <asm/ucontext.h>
#include <asm/ucontext.h>
#include <asm/uaccess.h>
#include <asm/uaccess.h>
#include <asm/lowcore.h>
#include <asm/lowcore.h>
...
@@ -53,8 +54,7 @@ typedef struct
...
@@ -53,8 +54,7 @@ typedef struct
/*
/*
* Atomically swap in the new signal mask, and wait for a signal.
* Atomically swap in the new signal mask, and wait for a signal.
*/
*/
asmlinkage
int
SYSCALL_DEFINE3
(
sigsuspend
,
int
,
history0
,
int
,
history1
,
old_sigset_t
,
mask
)
sys_sigsuspend
(
int
history0
,
int
history1
,
old_sigset_t
mask
)
{
{
mask
&=
_BLOCKABLE
;
mask
&=
_BLOCKABLE
;
spin_lock_irq
(
&
current
->
sighand
->
siglock
);
spin_lock_irq
(
&
current
->
sighand
->
siglock
);
...
@@ -70,9 +70,8 @@ sys_sigsuspend(int history0, int history1, old_sigset_t mask)
...
@@ -70,9 +70,8 @@ sys_sigsuspend(int history0, int history1, old_sigset_t mask)
return
-
ERESTARTNOHAND
;
return
-
ERESTARTNOHAND
;
}
}
asmlinkage
long
SYSCALL_DEFINE3
(
sigaction
,
int
,
sig
,
const
struct
old_sigaction
__user
*
,
act
,
sys_sigaction
(
int
sig
,
const
struct
old_sigaction
__user
*
act
,
struct
old_sigaction
__user
*
,
oact
)
struct
old_sigaction
__user
*
oact
)
{
{
struct
k_sigaction
new_ka
,
old_ka
;
struct
k_sigaction
new_ka
,
old_ka
;
int
ret
;
int
ret
;
...
@@ -102,15 +101,13 @@ sys_sigaction(int sig, const struct old_sigaction __user *act,
...
@@ -102,15 +101,13 @@ sys_sigaction(int sig, const struct old_sigaction __user *act,
return
ret
;
return
ret
;
}
}
asmlinkage
long
SYSCALL_DEFINE2
(
sigaltstack
,
const
stack_t
__user
*
,
uss
,
sys_sigaltstack
(
const
stack_t
__user
*
uss
,
stack_t
__user
*
uoss
)
stack_t
__user
*
,
uoss
)
{
{
struct
pt_regs
*
regs
=
task_pt_regs
(
current
);
struct
pt_regs
*
regs
=
task_pt_regs
(
current
);
return
do_sigaltstack
(
uss
,
uoss
,
regs
->
gprs
[
15
]);
return
do_sigaltstack
(
uss
,
uoss
,
regs
->
gprs
[
15
]);
}
}
/* Returns non-zero on fault. */
/* Returns non-zero on fault. */
static
int
save_sigregs
(
struct
pt_regs
*
regs
,
_sigregs
__user
*
sregs
)
static
int
save_sigregs
(
struct
pt_regs
*
regs
,
_sigregs
__user
*
sregs
)
{
{
...
@@ -164,7 +161,7 @@ static int restore_sigregs(struct pt_regs *regs, _sigregs __user *sregs)
...
@@ -164,7 +161,7 @@ static int restore_sigregs(struct pt_regs *regs, _sigregs __user *sregs)
return
0
;
return
0
;
}
}
asmlinkage
long
sys_sigreturn
(
void
)
SYSCALL_DEFINE0
(
sigreturn
)
{
{
struct
pt_regs
*
regs
=
task_pt_regs
(
current
);
struct
pt_regs
*
regs
=
task_pt_regs
(
current
);
sigframe
__user
*
frame
=
(
sigframe
__user
*
)
regs
->
gprs
[
15
];
sigframe
__user
*
frame
=
(
sigframe
__user
*
)
regs
->
gprs
[
15
];
...
@@ -191,7 +188,7 @@ asmlinkage long sys_sigreturn(void)
...
@@ -191,7 +188,7 @@ asmlinkage long sys_sigreturn(void)
return
0
;
return
0
;
}
}
asmlinkage
long
sys_rt_sigreturn
(
void
)
SYSCALL_DEFINE0
(
rt_sigreturn
)
{
{
struct
pt_regs
*
regs
=
task_pt_regs
(
current
);
struct
pt_regs
*
regs
=
task_pt_regs
(
current
);
rt_sigframe
__user
*
frame
=
(
rt_sigframe
__user
*
)
regs
->
gprs
[
15
];
rt_sigframe
__user
*
frame
=
(
rt_sigframe
__user
*
)
regs
->
gprs
[
15
];
...
...
arch/s390/kernel/sys_s390.c
View file @
26689452
...
@@ -29,6 +29,7 @@
...
@@ -29,6 +29,7 @@
#include <linux/personality.h>
#include <linux/personality.h>
#include <linux/unistd.h>
#include <linux/unistd.h>
#include <linux/ipc.h>
#include <linux/ipc.h>
#include <linux/syscalls.h>
#include <asm/uaccess.h>
#include <asm/uaccess.h>
#include "entry.h"
#include "entry.h"
...
@@ -74,7 +75,7 @@ struct mmap_arg_struct {
...
@@ -74,7 +75,7 @@ struct mmap_arg_struct {
unsigned
long
offset
;
unsigned
long
offset
;
};
};
asmlinkage
long
sys_mmap2
(
struct
mmap_arg_struct
__user
*
arg
)
SYSCALL_DEFINE1
(
mmap2
,
struct
mmap_arg_struct
__user
*
,
arg
)
{
{
struct
mmap_arg_struct
a
;
struct
mmap_arg_struct
a
;
int
error
=
-
EFAULT
;
int
error
=
-
EFAULT
;
...
@@ -86,7 +87,7 @@ asmlinkage long sys_mmap2(struct mmap_arg_struct __user *arg)
...
@@ -86,7 +87,7 @@ asmlinkage long sys_mmap2(struct mmap_arg_struct __user *arg)
return
error
;
return
error
;
}
}
asmlinkage
long
old_mmap
(
struct
mmap_arg_struct
__user
*
arg
)
SYSCALL_DEFINE1
(
s390_old_mmap
,
struct
mmap_arg_struct
__user
*
,
arg
)
{
{
struct
mmap_arg_struct
a
;
struct
mmap_arg_struct
a
;
long
error
=
-
EFAULT
;
long
error
=
-
EFAULT
;
...
@@ -108,8 +109,8 @@ asmlinkage long old_mmap(struct mmap_arg_struct __user *arg)
...
@@ -108,8 +109,8 @@ asmlinkage long old_mmap(struct mmap_arg_struct __user *arg)
*
*
* This is really horribly ugly.
* This is really horribly ugly.
*/
*/
asmlinkage
long
sys_ipc
(
uint
call
,
int
first
,
unsigned
long
second
,
SYSCALL_DEFINE5
(
ipc
,
uint
,
call
,
int
,
first
,
unsigned
long
,
second
,
unsigned
long
third
,
void
__user
*
ptr
)
unsigned
long
,
third
,
void
__user
*
,
ptr
)
{
{
struct
ipc_kludge
tmp
;
struct
ipc_kludge
tmp
;
int
ret
;
int
ret
;
...
@@ -175,7 +176,7 @@ asmlinkage long sys_ipc(uint call, int first, unsigned long second,
...
@@ -175,7 +176,7 @@ asmlinkage long sys_ipc(uint call, int first, unsigned long second,
}
}
#ifdef CONFIG_64BIT
#ifdef CONFIG_64BIT
asmlinkage
long
s390x_newuname
(
struct
new_utsname
__user
*
name
)
SYSCALL_DEFINE1
(
s390_newuname
,
struct
new_utsname
__user
*
,
name
)
{
{
int
ret
=
sys_newuname
(
name
);
int
ret
=
sys_newuname
(
name
);
...
@@ -186,7 +187,7 @@ asmlinkage long s390x_newuname(struct new_utsname __user *name)
...
@@ -186,7 +187,7 @@ asmlinkage long s390x_newuname(struct new_utsname __user *name)
return
ret
;
return
ret
;
}
}
asmlinkage
long
s390x_personality
(
unsigned
long
personality
)
SYSCALL_DEFINE1
(
s390_personality
,
unsigned
long
,
personality
)
{
{
int
ret
;
int
ret
;
...
@@ -205,15 +206,13 @@ asmlinkage long s390x_personality(unsigned long personality)
...
@@ -205,15 +206,13 @@ asmlinkage long s390x_personality(unsigned long personality)
*/
*/
#ifndef CONFIG_64BIT
#ifndef CONFIG_64BIT
asmlinkage
long
SYSCALL_DEFINE5
(
s390_fadvise64
,
int
,
fd
,
u32
,
offset_high
,
u32
,
offset_low
,
s390_fadvise64
(
int
fd
,
u32
offset_high
,
u32
offset_low
,
size_t
len
,
int
advice
)
size_t
,
len
,
int
,
advice
)
{
{
return
sys_fadvise64
(
fd
,
(
u64
)
offset_high
<<
32
|
offset_low
,
return
sys_fadvise64
(
fd
,
(
u64
)
offset_high
<<
32
|
offset_low
,
len
,
advice
);
len
,
advice
);
}
}
#endif
struct
fadvise64_64_args
{
struct
fadvise64_64_args
{
int
fd
;
int
fd
;
long
long
offset
;
long
long
offset
;
...
@@ -221,8 +220,7 @@ struct fadvise64_64_args {
...
@@ -221,8 +220,7 @@ struct fadvise64_64_args {
int
advice
;
int
advice
;
};
};
asmlinkage
long
SYSCALL_DEFINE1
(
s390_fadvise64_64
,
struct
fadvise64_64_args
__user
*
,
args
)
s390_fadvise64_64
(
struct
fadvise64_64_args
__user
*
args
)
{
{
struct
fadvise64_64_args
a
;
struct
fadvise64_64_args
a
;
...
@@ -231,7 +229,6 @@ s390_fadvise64_64(struct fadvise64_64_args __user *args)
...
@@ -231,7 +229,6 @@ s390_fadvise64_64(struct fadvise64_64_args __user *args)
return
sys_fadvise64_64
(
a
.
fd
,
a
.
offset
,
a
.
len
,
a
.
advice
);
return
sys_fadvise64_64
(
a
.
fd
,
a
.
offset
,
a
.
len
,
a
.
advice
);
}
}
#ifndef CONFIG_64BIT
/*
/*
* This is a wrapper to call sys_fallocate(). For 31 bit s390 the last
* This is a wrapper to call sys_fallocate(). For 31 bit s390 the last
* 64 bit argument "len" is split into the upper and lower 32 bits. The
* 64 bit argument "len" is split into the upper and lower 32 bits. The
...
@@ -244,9 +241,19 @@ s390_fadvise64_64(struct fadvise64_64_args __user *args)
...
@@ -244,9 +241,19 @@ s390_fadvise64_64(struct fadvise64_64_args __user *args)
* to
* to
* %r2: fd, %r3: mode, %r4/%r5: offset, 96(%r15)-103(%r15): len
* %r2: fd, %r3: mode, %r4/%r5: offset, 96(%r15)-103(%r15): len
*/
*/
asmlinkage
long
s390_fallocate
(
int
fd
,
int
mode
,
loff_t
offset
,
SYSCALL_DEFINE
(
s390_fallocate
)
(
int
fd
,
int
mode
,
loff_t
offset
,
u32
len_high
,
u32
len_low
)
u32
len_high
,
u32
len_low
)
{
{
return
sys_fallocate
(
fd
,
mode
,
offset
,
((
u64
)
len_high
<<
32
)
|
len_low
);
return
sys_fallocate
(
fd
,
mode
,
offset
,
((
u64
)
len_high
<<
32
)
|
len_low
);
}
}
#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
asmlinkage
long
SyS_s390_fallocate
(
long
fd
,
long
mode
,
loff_t
offset
,
long
len_high
,
long
len_low
)
{
return
SYSC_s390_fallocate
((
int
)
fd
,
(
int
)
mode
,
offset
,
(
u32
)
len_high
,
(
u32
)
len_low
);
}
SYSCALL_ALIAS
(
sys_s390_fallocate
,
SyS_s390_fallocate
);
#endif
#endif
#endif
arch/s390/kernel/syscalls.S
View file @
26689452
...
@@ -98,7 +98,7 @@ SYSCALL(sys_uselib,sys_uselib,sys32_uselib_wrapper)
...
@@ -98,7 +98,7 @@ SYSCALL(sys_uselib,sys_uselib,sys32_uselib_wrapper)
SYSCALL
(
sys_swapon
,
sys_swapon
,
sys32_swapon_wrapper
)
SYSCALL
(
sys_swapon
,
sys_swapon
,
sys32_swapon_wrapper
)
SYSCALL
(
sys_reboot
,
sys_reboot
,
sys32_reboot_wrapper
)
SYSCALL
(
sys_reboot
,
sys_reboot
,
sys32_reboot_wrapper
)
SYSCALL
(
sys_ni_syscall
,
sys_ni_syscall
,
old32_readdir_wrapper
)
/
*
old
readdir
syscall
*/
SYSCALL
(
sys_ni_syscall
,
sys_ni_syscall
,
old32_readdir_wrapper
)
/
*
old
readdir
syscall
*/
SYSCALL
(
old_mmap
,
old_mmap
,
old32_mmap_wrapper
)
/
*
90
*/
SYSCALL
(
sys_s390_old_mmap
,
sys_s390_old_mmap
,
old32_mmap_wrapper
)
/
*
90
*/
SYSCALL
(
sys_munmap
,
sys_munmap
,
sys32_munmap_wrapper
)
SYSCALL
(
sys_munmap
,
sys_munmap
,
sys32_munmap_wrapper
)
SYSCALL
(
sys_truncate
,
sys_truncate
,
sys32_truncate_wrapper
)
SYSCALL
(
sys_truncate
,
sys_truncate
,
sys32_truncate_wrapper
)
SYSCALL
(
sys_ftruncate
,
sys_ftruncate
,
sys32_ftruncate_wrapper
)
SYSCALL
(
sys_ftruncate
,
sys_ftruncate
,
sys32_ftruncate_wrapper
)
...
@@ -130,7 +130,7 @@ SYSCALL(sys_fsync,sys_fsync,sys32_fsync_wrapper)
...
@@ -130,7 +130,7 @@ SYSCALL(sys_fsync,sys_fsync,sys32_fsync_wrapper)
SYSCALL
(
sys_sigreturn
,
sys_sigreturn
,
sys32_sigreturn
)
SYSCALL
(
sys_sigreturn
,
sys_sigreturn
,
sys32_sigreturn
)
SYSCALL
(
sys_clone
,
sys_clone
,
sys32_clone
)
/
*
120
*/
SYSCALL
(
sys_clone
,
sys_clone
,
sys32_clone
)
/
*
120
*/
SYSCALL
(
sys_setdomainname
,
sys_setdomainname
,
sys32_setdomainname_wrapper
)
SYSCALL
(
sys_setdomainname
,
sys_setdomainname
,
sys32_setdomainname_wrapper
)
SYSCALL
(
sys_newuname
,
s
390x
_newuname
,
sys32_newuname_wrapper
)
SYSCALL
(
sys_newuname
,
s
ys_s390
_newuname
,
sys32_newuname_wrapper
)
NI_SYSCALL
/
*
modify_ldt
for
i386
*/
NI_SYSCALL
/
*
modify_ldt
for
i386
*/
SYSCALL
(
sys_adjtimex
,
sys_adjtimex
,
compat_sys_adjtimex_wrapper
)
SYSCALL
(
sys_adjtimex
,
sys_adjtimex
,
compat_sys_adjtimex_wrapper
)
SYSCALL
(
sys_mprotect
,
sys_mprotect
,
sys32_mprotect_wrapper
)
/
*
125
*/
SYSCALL
(
sys_mprotect
,
sys_mprotect
,
sys32_mprotect_wrapper
)
/
*
125
*/
...
@@ -144,7 +144,7 @@ SYSCALL(sys_getpgid,sys_getpgid,sys32_getpgid_wrapper)
...
@@ -144,7 +144,7 @@ SYSCALL(sys_getpgid,sys_getpgid,sys32_getpgid_wrapper)
SYSCALL
(
sys_fchdir
,
sys_fchdir
,
sys32_fchdir_wrapper
)
SYSCALL
(
sys_fchdir
,
sys_fchdir
,
sys32_fchdir_wrapper
)
SYSCALL
(
sys_bdflush
,
sys_bdflush
,
sys32_bdflush_wrapper
)
SYSCALL
(
sys_bdflush
,
sys_bdflush
,
sys32_bdflush_wrapper
)
SYSCALL
(
sys_sysfs
,
sys_sysfs
,
sys32_sysfs_wrapper
)
/
*
135
*/
SYSCALL
(
sys_sysfs
,
sys_sysfs
,
sys32_sysfs_wrapper
)
/
*
135
*/
SYSCALL
(
sys_personality
,
s
390x
_personality
,
sys32_personality_wrapper
)
SYSCALL
(
sys_personality
,
s
ys_s390
_personality
,
sys32_personality_wrapper
)
NI_SYSCALL
/
*
for
afs_syscall
*/
NI_SYSCALL
/
*
for
afs_syscall
*/
SYSCALL
(
sys_setfsuid16
,
sys_ni_syscall
,
sys32_setfsuid16_wrapper
)
/
*
old
setfsuid16
syscall
*/
SYSCALL
(
sys_setfsuid16
,
sys_ni_syscall
,
sys32_setfsuid16_wrapper
)
/
*
old
setfsuid16
syscall
*/
SYSCALL
(
sys_setfsgid16
,
sys_ni_syscall
,
sys32_setfsgid16_wrapper
)
/
*
old
setfsgid16
syscall
*/
SYSCALL
(
sys_setfsgid16
,
sys_ni_syscall
,
sys32_setfsgid16_wrapper
)
/
*
old
setfsgid16
syscall
*/
...
@@ -261,7 +261,7 @@ SYSCALL(sys_epoll_create,sys_epoll_create,sys_epoll_create_wrapper)
...
@@ -261,7 +261,7 @@ SYSCALL(sys_epoll_create,sys_epoll_create,sys_epoll_create_wrapper)
SYSCALL
(
sys_epoll_ctl
,
sys_epoll_ctl
,
sys_epoll_ctl_wrapper
)
/
*
250
*/
SYSCALL
(
sys_epoll_ctl
,
sys_epoll_ctl
,
sys_epoll_ctl_wrapper
)
/
*
250
*/
SYSCALL
(
sys_epoll_wait
,
sys_epoll_wait
,
sys_epoll_wait_wrapper
)
SYSCALL
(
sys_epoll_wait
,
sys_epoll_wait
,
sys_epoll_wait_wrapper
)
SYSCALL
(
sys_set_tid_address
,
sys_set_tid_address
,
sys32_set_tid_address_wrapper
)
SYSCALL
(
sys_set_tid_address
,
sys_set_tid_address
,
sys32_set_tid_address_wrapper
)
SYSCALL
(
s390_fadvise64
,
sys_fadvise64_64
,
sys32_fadvise64_wrapper
)
SYSCALL
(
s
ys_s
390_fadvise64
,
sys_fadvise64_64
,
sys32_fadvise64_wrapper
)
SYSCALL
(
sys_timer_create
,
sys_timer_create
,
sys32_timer_create_wrapper
)
SYSCALL
(
sys_timer_create
,
sys_timer_create
,
sys32_timer_create_wrapper
)
SYSCALL
(
sys_timer_settime
,
sys_timer_settime
,
sys32_timer_settime_wrapper
)
/
*
255
*/
SYSCALL
(
sys_timer_settime
,
sys_timer_settime
,
sys32_timer_settime_wrapper
)
/
*
255
*/
SYSCALL
(
sys_timer_gettime
,
sys_timer_gettime
,
sys32_timer_gettime_wrapper
)
SYSCALL
(
sys_timer_gettime
,
sys_timer_gettime
,
sys32_timer_gettime_wrapper
)
...
@@ -272,7 +272,7 @@ SYSCALL(sys_clock_gettime,sys_clock_gettime,sys32_clock_gettime_wrapper) /* 260
...
@@ -272,7 +272,7 @@ SYSCALL(sys_clock_gettime,sys_clock_gettime,sys32_clock_gettime_wrapper) /* 260
SYSCALL
(
sys_clock_getres
,
sys_clock_getres
,
sys32_clock_getres_wrapper
)
SYSCALL
(
sys_clock_getres
,
sys_clock_getres
,
sys32_clock_getres_wrapper
)
SYSCALL
(
sys_clock_nanosleep
,
sys_clock_nanosleep
,
sys32_clock_nanosleep_wrapper
)
SYSCALL
(
sys_clock_nanosleep
,
sys_clock_nanosleep
,
sys32_clock_nanosleep_wrapper
)
NI_SYSCALL
/
*
reserved
for
vserver
*/
NI_SYSCALL
/
*
reserved
for
vserver
*/
SYSCALL
(
s390_fadvise64_64
,
sys_ni_syscall
,
sys32_fadvise64_64_wrapper
)
SYSCALL
(
s
ys_s
390_fadvise64_64
,
sys_ni_syscall
,
sys32_fadvise64_64_wrapper
)
SYSCALL
(
sys_statfs64
,
sys_statfs64
,
compat_sys_statfs64_wrapper
)
SYSCALL
(
sys_statfs64
,
sys_statfs64
,
compat_sys_statfs64_wrapper
)
SYSCALL
(
sys_fstatfs64
,
sys_fstatfs64
,
compat_sys_fstatfs64_wrapper
)
SYSCALL
(
sys_fstatfs64
,
sys_fstatfs64
,
compat_sys_fstatfs64_wrapper
)
SYSCALL
(
sys_remap_file_pages
,
sys_remap_file_pages
,
sys32_remap_file_pages_wrapper
)
SYSCALL
(
sys_remap_file_pages
,
sys_remap_file_pages
,
sys32_remap_file_pages_wrapper
)
...
@@ -322,7 +322,7 @@ NI_SYSCALL /* 310 sys_move_pages */
...
@@ -322,7 +322,7 @@ NI_SYSCALL /* 310 sys_move_pages */
SYSCALL
(
sys_getcpu
,
sys_getcpu
,
sys_getcpu_wrapper
)
SYSCALL
(
sys_getcpu
,
sys_getcpu
,
sys_getcpu_wrapper
)
SYSCALL
(
sys_epoll_pwait
,
sys_epoll_pwait
,
compat_sys_epoll_pwait_wrapper
)
SYSCALL
(
sys_epoll_pwait
,
sys_epoll_pwait
,
compat_sys_epoll_pwait_wrapper
)
SYSCALL
(
sys_utimes
,
sys_utimes
,
compat_sys_utimes_wrapper
)
SYSCALL
(
sys_utimes
,
sys_utimes
,
compat_sys_utimes_wrapper
)
SYSCALL
(
s390_fallocate
,
sys_fallocate
,
sys_fallocate_wrapper
)
SYSCALL
(
s
ys_s
390_fallocate
,
sys_fallocate
,
sys_fallocate_wrapper
)
SYSCALL
(
sys_utimensat
,
sys_utimensat
,
compat_sys_utimensat_wrapper
)
/
*
315
*/
SYSCALL
(
sys_utimensat
,
sys_utimensat
,
compat_sys_utimensat_wrapper
)
/
*
315
*/
SYSCALL
(
sys_signalfd
,
sys_signalfd
,
compat_sys_signalfd_wrapper
)
SYSCALL
(
sys_signalfd
,
sys_signalfd
,
compat_sys_signalfd_wrapper
)
NI_SYSCALL
/
*
317
old
sys_timer_fd
*/
NI_SYSCALL
/
*
317
old
sys_timer_fd
*/
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment