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
00fcb149
Commit
00fcb149
authored
Mar 01, 2014
by
Heiko Carstens
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
s390/compat: convert system call wrappers to C part 15
Signed-off-by:
Heiko Carstens
<
heiko.carstens@de.ibm.com
>
parent
7f6afe87
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
25 additions
and
86 deletions
+25
-86
arch/s390/kernel/compat_wrap.c
arch/s390/kernel/compat_wrap.c
+12
-0
arch/s390/kernel/compat_wrapper.S
arch/s390/kernel/compat_wrapper.S
+0
-74
arch/s390/kernel/entry.h
arch/s390/kernel/entry.h
+1
-0
arch/s390/kernel/syscalls.S
arch/s390/kernel/syscalls.S
+12
-12
No files found.
arch/s390/kernel/compat_wrap.c
View file @
00fcb149
...
...
@@ -164,3 +164,15 @@ COMPAT_SYSCALL_WRAP3(dup3, unsigned int, oldfd, unsigned int, newfd, int, flags)
COMPAT_SYSCALL_WRAP1
(
epoll_create1
,
int
,
flags
);
COMPAT_SYSCALL_WRAP2
(
tkill
,
int
,
pid
,
int
,
sig
);
COMPAT_SYSCALL_WRAP3
(
tgkill
,
int
,
tgid
,
int
,
pid
,
int
,
sig
);
COMPAT_SYSCALL_WRAP5
(
perf_event_open
,
struct
perf_event_attr
__user
*
,
attr_uptr
,
pid_t
,
pid
,
int
,
cpu
,
int
,
group_fd
,
u32
,
flags
);
COMPAT_SYSCALL_WRAP5
(
clone
,
u32
,
newsp
,
u32
,
clone_flags
,
int
__user
*
,
parent_tidptr
,
int
__user
*
,
child_tidptr
,
int
,
tls_val
);
COMPAT_SYSCALL_WRAP2
(
fanotify_init
,
unsigned
int
,
flags
,
unsigned
int
,
event_f_flags
);
COMPAT_SYSCALL_WRAP4
(
prlimit64
,
pid_t
,
pid
,
unsigned
int
,
resource
,
const
struct
rlimit64
__user
*
,
new_rlim
,
struct
rlimit64
__user
*
,
old_rlim
);
COMPAT_SYSCALL_WRAP5
(
name_to_handle_at
,
int
,
dfd
,
const
char
__user
*
,
name
,
struct
file_handle
__user
*
,
handle
,
int
__user
*
,
mnt_id
,
int
,
flag
);
COMPAT_SYSCALL_WRAP1
(
syncfs
,
int
,
fd
);
COMPAT_SYSCALL_WRAP2
(
setns
,
int
,
fd
,
int
,
nstype
);
COMPAT_SYSCALL_WRAP2
(
s390_runtime_instr
,
int
,
command
,
int
,
signum
);
COMPAT_SYSCALL_WRAP5
(
kcmp
,
pid_t
,
pid1
,
pid_t
,
pid2
,
int
,
type
,
u32
,
idx1
,
u32
,
idx2
);
COMPAT_SYSCALL_WRAP3
(
finit_module
,
int
,
fd
,
const
char
__user
*
,
uargs
,
int
,
flags
);
COMPAT_SYSCALL_WRAP3
(
sched_setattr
,
pid_t
,
pid
,
struct
sched_attr
__user
*
,
attr
,
unsigned
int
,
flags
);
COMPAT_SYSCALL_WRAP4
(
sched_getattr
,
pid_t
,
pid
,
struct
sched_attr
__user
*
,
attr
,
unsigned
int
,
size
,
unsigned
int
,
flags
);
arch/s390/kernel/compat_wrapper.S
View file @
00fcb149
...
...
@@ -355,61 +355,17 @@ ENTRY(compat_sys_keyctl_wrapper)
llgfr
%
r6
,%
r6
#
u32
jg
compat_sys_keyctl
#
branch
to
system
call
ENTRY
(
sys_perf_event_open_wrapper
)
llgtr
%
r2
,%
r2
#
const
struct
perf_event_attr
*
lgfr
%
r3
,%
r3
#
pid_t
lgfr
%
r4
,%
r4
#
int
lgfr
%
r5
,%
r5
#
int
llgfr
%
r6
,%
r6
#
unsigned
long
jg
sys_perf_event_open
#
branch
to
system
call
ENTRY
(
sys_clone_wrapper
)
llgfr
%
r2
,%
r2
#
unsigned
long
llgfr
%
r3
,%
r3
#
unsigned
long
llgtr
%
r4
,%
r4
#
int
*
llgtr
%
r5
,%
r5
#
int
*
jg
sys_clone
#
branch
to
system
call
ENTRY
(
sys32_execve_wrapper
)
llgtr
%
r2
,%
r2
#
char
*
llgtr
%
r3
,%
r3
#
compat_uptr_t
*
llgtr
%
r4
,%
r4
#
compat_uptr_t
*
jg
compat_sys_execve
#
branch
to
system
call
ENTRY
(
sys_fanotify_init_wrapper
)
llgfr
%
r2
,%
r2
#
unsigned
int
llgfr
%
r3
,%
r3
#
unsigned
int
jg
sys_fanotify_init
#
branch
to
system
call
ENTRY
(
sys_prlimit64_wrapper
)
lgfr
%
r2
,%
r2
#
pid_t
llgfr
%
r3
,%
r3
#
unsigned
int
llgtr
%
r4
,%
r4
#
const
struct
rlimit64
__user
*
llgtr
%
r5
,%
r5
#
struct
rlimit64
__user
*
jg
sys_prlimit64
#
branch
to
system
call
ENTRY
(
sys_name_to_handle_at_wrapper
)
lgfr
%
r2
,%
r2
#
int
llgtr
%
r3
,%
r3
#
const
char
__user
*
llgtr
%
r4
,%
r4
#
struct
file_handle
__user
*
llgtr
%
r5
,%
r5
#
int
__user
*
lgfr
%
r6
,%
r6
#
int
jg
sys_name_to_handle_at
ENTRY
(
compat_sys_clock_adjtime_wrapper
)
lgfr
%
r2
,%
r2
#
clockid_t
(
int
)
llgtr
%
r3
,%
r3
#
struct
compat_timex
__user
*
jg
compat_sys_clock_adjtime
ENTRY
(
sys_syncfs_wrapper
)
lgfr
%
r2
,%
r2
#
int
jg
sys_syncfs
ENTRY
(
sys_setns_wrapper
)
lgfr
%
r2
,%
r2
#
int
lgfr
%
r3
,%
r3
#
int
jg
sys_setns
ENTRY
(
compat_sys_process_vm_readv_wrapper
)
lgfr
%
r2
,%
r2
#
compat_pid_t
llgtr
%
r3
,%
r3
#
struct
compat_iovec
__user
*
...
...
@@ -429,33 +385,3 @@ ENTRY(compat_sys_process_vm_writev_wrapper)
llgf
%
r0
,
164
(%
r15
)
#
unsigned
long
stg
%
r0
,
160
(%
r15
)
jg
compat_sys_process_vm_writev
ENTRY
(
sys_s390_runtime_instr_wrapper
)
lgfr
%
r2
,%
r2
#
int
lgfr
%
r3
,%
r3
#
int
jg
sys_s390_runtime_instr
ENTRY
(
sys_kcmp_wrapper
)
lgfr
%
r2
,%
r2
#
pid_t
lgfr
%
r3
,%
r3
#
pid_t
lgfr
%
r4
,%
r4
#
int
llgfr
%
r5
,%
r5
#
unsigned
long
llgfr
%
r6
,%
r6
#
unsigned
long
jg
sys_kcmp
ENTRY
(
sys_finit_module_wrapper
)
lgfr
%
r2
,%
r2
#
int
llgtr
%
r3
,%
r3
#
const
char
__user
*
lgfr
%
r4
,%
r4
#
int
jg
sys_finit_module
ENTRY
(
sys_sched_setattr_wrapper
)
lgfr
%
r2
,%
r2
#
pid_t
llgtr
%
r3
,%
r3
#
struct
sched_attr
__user
*
jg
sys_sched_setattr
ENTRY
(
sys_sched_getattr_wrapper
)
lgfr
%
r2
,%
r2
#
pid_t
llgtr
%
r3
,%
r3
#
const
char
__user
*
llgfr
%
r4
,%
r4
#
unsigned
int
jg
sys_sched_getattr
arch/s390/kernel/entry.h
View file @
00fcb149
...
...
@@ -73,5 +73,6 @@ long sys32_sigreturn(void);
long
sys32_rt_sigreturn
(
void
);
long
sys_s390_personality
(
unsigned
int
personality
);
long
sys_s390_runtime_instr
(
int
command
,
int
signum
);
#endif
/* _ENTRY_H */
arch/s390/kernel/syscalls.S
View file @
00fcb149
...
...
@@ -128,7 +128,7 @@ SYSCALL(sys_sysinfo,sys_sysinfo,compat_sys_sysinfo_wrapper)
SYSCALL
(
sys_s390_ipc
,
sys_s390_ipc
,
compat_sys_s390_ipc
)
SYSCALL
(
sys_fsync
,
sys_fsync
,
compat_sys_fsync
)
SYSCALL
(
sys_sigreturn
,
sys_sigreturn
,
sys32_sigreturn
)
SYSCALL
(
sys_clone
,
sys_clone
,
sys_clone_wrapper
)
/
*
120
*/
SYSCALL
(
sys_clone
,
sys_clone
,
compat_sys_clone
)
/
*
120
*/
SYSCALL
(
sys_setdomainname
,
sys_setdomainname
,
compat_sys_setdomainname
)
SYSCALL
(
sys_newuname
,
sys_newuname
,
compat_sys_newuname
)
NI_SYSCALL
/
*
modify_ldt
for
i386
*/
...
...
@@ -339,19 +339,19 @@ SYSCALL(sys_epoll_create1,sys_epoll_create1,compat_sys_epoll_create1)
SYSCALL
(
sys_preadv
,
sys_preadv
,
compat_sys_preadv
)
SYSCALL
(
sys_pwritev
,
sys_pwritev
,
compat_sys_pwritev
)
SYSCALL
(
sys_rt_tgsigqueueinfo
,
sys_rt_tgsigqueueinfo
,
compat_sys_rt_tgsigqueueinfo
)
/
*
330
*/
SYSCALL
(
sys_perf_event_open
,
sys_perf_event_open
,
sys_perf_event_open_wrapper
)
SYSCALL
(
sys_fanotify_init
,
sys_fanotify_init
,
sys_fanotify_init_wrapper
)
SYSCALL
(
sys_perf_event_open
,
sys_perf_event_open
,
compat_sys_perf_event_open
)
SYSCALL
(
sys_fanotify_init
,
sys_fanotify_init
,
compat_sys_fanotify_init
)
SYSCALL
(
sys_fanotify_mark
,
sys_fanotify_mark
,
compat_sys_fanotify_mark
)
SYSCALL
(
sys_prlimit64
,
sys_prlimit64
,
sys_prlimit64_wrapper
)
SYSCALL
(
sys_name_to_handle_at
,
sys_name_to_handle_at
,
sys_name_to_handle_at_wrapper
)
/
*
335
*/
SYSCALL
(
sys_prlimit64
,
sys_prlimit64
,
compat_sys_prlimit64
)
SYSCALL
(
sys_name_to_handle_at
,
sys_name_to_handle_at
,
compat_sys_name_to_handle_at
)
/
*
335
*/
SYSCALL
(
sys_open_by_handle_at
,
sys_open_by_handle_at
,
compat_sys_open_by_handle_at
)
SYSCALL
(
sys_clock_adjtime
,
sys_clock_adjtime
,
compat_sys_clock_adjtime_wrapper
)
SYSCALL
(
sys_syncfs
,
sys_syncfs
,
sys_syncfs_wrapper
)
SYSCALL
(
sys_setns
,
sys_setns
,
sys_setns_wrapper
)
SYSCALL
(
sys_syncfs
,
sys_syncfs
,
compat_sys_syncfs
)
SYSCALL
(
sys_setns
,
sys_setns
,
compat_sys_setns
)
SYSCALL
(
sys_process_vm_readv
,
sys_process_vm_readv
,
compat_sys_process_vm_readv_wrapper
)
/
*
340
*/
SYSCALL
(
sys_process_vm_writev
,
sys_process_vm_writev
,
compat_sys_process_vm_writev_wrapper
)
SYSCALL
(
sys_ni_syscall
,
sys_s390_runtime_instr
,
sys_s390_runtime_instr_wrappe
r
)
SYSCALL
(
sys_kcmp
,
sys_kcmp
,
sys_kcmp_wrapper
)
SYSCALL
(
sys_finit_module
,
sys_finit_module
,
sys_finit_module_wrapper
)
SYSCALL
(
sys_sched_setattr
,
sys_sched_setattr
,
sys_sched_setattr_wrappe
r
)
/
*
345
*/
SYSCALL
(
sys_sched_getattr
,
sys_sched_getattr
,
sys_sched_getattr_wrappe
r
)
SYSCALL
(
sys_ni_syscall
,
sys_s390_runtime_instr
,
compat_sys_s390_runtime_inst
r
)
SYSCALL
(
sys_kcmp
,
sys_kcmp
,
compat_sys_kcmp
)
SYSCALL
(
sys_finit_module
,
sys_finit_module
,
compat_sys_finit_module
)
SYSCALL
(
sys_sched_setattr
,
sys_sched_setattr
,
compat_sys_sched_setatt
r
)
/
*
345
*/
SYSCALL
(
sys_sched_getattr
,
sys_sched_getattr
,
compat_sys_sched_getatt
r
)
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