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
nexedi
linux
Commits
52a0b536
Commit
52a0b536
authored
Feb 26, 2014
by
Heiko Carstens
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
s390/compat: convert to COMPAT_SYSCALL_DEFINEx part 5
Signed-off-by:
Heiko Carstens
<
heiko.carstens@de.ibm.com
>
parent
e723e0cc
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
21 additions
and
60 deletions
+21
-60
arch/s390/kernel/compat_linux.c
arch/s390/kernel/compat_linux.c
+11
-14
arch/s390/kernel/compat_linux.h
arch/s390/kernel/compat_linux.h
+5
-7
arch/s390/kernel/compat_wrapper.S
arch/s390/kernel/compat_wrapper.S
+0
-34
arch/s390/kernel/syscalls.S
arch/s390/kernel/syscalls.S
+5
-5
No files found.
arch/s390/kernel/compat_linux.c
View file @
52a0b536
...
...
@@ -304,33 +304,30 @@ COMPAT_SYSCALL_DEFINE3(s390_truncate64, const char __user *, path, u32, high, u3
return
sys_truncate
(
path
,
(
unsigned
long
)
high
<<
32
|
low
);
}
asmlinkage
long
sys32_ftruncate64
(
unsigned
int
fd
,
unsigned
long
high
,
unsigned
long
low
)
COMPAT_SYSCALL_DEFINE3
(
s390_ftruncate64
,
unsigned
int
,
fd
,
u32
,
high
,
u32
,
low
)
{
if
((
int
)
high
<
0
)
return
-
EINVAL
;
else
return
sys_ftruncate
(
fd
,
(
high
<<
32
)
|
low
);
return
sys_ftruncate
(
fd
,
(
unsigned
long
)
high
<<
32
|
low
);
}
asmlinkage
long
sys32_pread64
(
unsigned
int
fd
,
char
__user
*
ubuf
,
size_t
count
,
u32
poshi
,
u32
poslo
)
COMPAT_SYSCALL_DEFINE5
(
s390_pread64
,
unsigned
int
,
fd
,
char
__user
*
,
ubuf
,
compat_size_t
,
count
,
u32
,
high
,
u32
,
low
)
{
if
((
compat_ssize_t
)
count
<
0
)
return
-
EINVAL
;
return
sys_pread64
(
fd
,
ubuf
,
count
,
(
(
loff_t
)
AA
(
poshi
)
<<
32
)
|
AA
(
poslo
)
);
return
sys_pread64
(
fd
,
ubuf
,
count
,
(
unsigned
long
)
high
<<
32
|
low
);
}
asmlinkage
long
sys32_pwrite64
(
unsigned
int
fd
,
const
char
__user
*
ubuf
,
size_t
count
,
u32
poshi
,
u32
poslo
)
COMPAT_SYSCALL_DEFINE5
(
s390_pwrite64
,
unsigned
int
,
fd
,
const
char
__user
*
,
ubuf
,
compat_size_t
,
count
,
u32
,
high
,
u32
,
low
)
{
if
((
compat_ssize_t
)
count
<
0
)
return
-
EINVAL
;
return
sys_pwrite64
(
fd
,
ubuf
,
count
,
(
(
loff_t
)
AA
(
poshi
)
<<
32
)
|
AA
(
poslo
)
);
return
sys_pwrite64
(
fd
,
ubuf
,
count
,
(
unsigned
long
)
high
<<
32
|
low
);
}
asmlinkage
compat_ssize_t
sys32_readahead
(
int
fd
,
u32
offhi
,
u32
offlo
,
s32
count
)
COMPAT_SYSCALL_DEFINE4
(
s390_readahead
,
int
,
fd
,
u32
,
high
,
u32
,
low
,
s32
,
count
)
{
return
sys_readahead
(
fd
,
(
(
loff_t
)
AA
(
offhi
)
<<
32
)
|
AA
(
offlo
)
,
count
);
return
sys_readahead
(
fd
,
(
unsigned
long
)
high
<<
32
|
low
,
count
);
}
struct
stat64_emu31
{
...
...
@@ -382,7 +379,7 @@ static int cp_stat64(struct stat64_emu31 __user *ubuf, struct kstat *stat)
return
copy_to_user
(
ubuf
,
&
tmp
,
sizeof
(
tmp
))
?
-
EFAULT
:
0
;
}
asmlinkage
long
sys32_stat64
(
const
char
__user
*
filename
,
struct
stat64_emu31
__user
*
statbuf
)
COMPAT_SYSCALL_DEFINE2
(
s390_stat64
,
const
char
__user
*
,
filename
,
struct
stat64_emu31
__user
*
,
statbuf
)
{
struct
kstat
stat
;
int
ret
=
vfs_stat
(
filename
,
&
stat
);
...
...
arch/s390/kernel/compat_linux.h
View file @
52a0b536
...
...
@@ -96,16 +96,14 @@ long compat_sys_s390_geteuid16(void);
long
compat_sys_s390_getgid16
(
void
);
long
compat_sys_s390_getegid16
(
void
);
long
compat_sys_s390_truncate64
(
const
char
__user
*
path
,
u32
high
,
u32
low
);
long
sys32_ftruncate64
(
unsigned
int
fd
,
unsigned
long
high
,
unsigned
long
low
);
long
compat_sys_s390_ftruncate64
(
unsigned
int
fd
,
u32
high
,
u32
low
);
long
sys32_init_module
(
void
__user
*
umod
,
unsigned
long
len
,
const
char
__user
*
uargs
);
long
sys32_delete_module
(
const
char
__user
*
name_user
,
unsigned
int
flags
);
long
sys32_pread64
(
unsigned
int
fd
,
char
__user
*
ubuf
,
size_t
count
,
u32
poshi
,
u32
poslo
);
long
sys32_pwrite64
(
unsigned
int
fd
,
const
char
__user
*
ubuf
,
size_t
count
,
u32
poshi
,
u32
poslo
);
compat_ssize_t
sys32_readahead
(
int
fd
,
u32
offhi
,
u32
offlo
,
s32
count
);
long
sys32_stat64
(
const
char
__user
*
filename
,
struct
stat64_emu31
__user
*
statbuf
);
long
compat_sys_s390_pread64
(
unsigned
int
fd
,
char
__user
*
ubuf
,
compat_size_t
count
,
u32
high
,
u32
low
);
long
compat_sys_s390_pwrite64
(
unsigned
int
fd
,
const
char
__user
*
ubuf
,
compat_size_t
count
,
u32
high
,
u32
low
);
long
compat_sys_s390_readahead
(
int
fd
,
u32
high
,
u32
low
,
s32
count
);
long
compat_sys_s390_stat64
(
const
char
__user
*
filename
,
struct
stat64_emu31
__user
*
statbuf
);
long
sys32_lstat64
(
const
char
__user
*
filename
,
struct
stat64_emu31
__user
*
statbuf
);
long
sys32_fstat64
(
unsigned
long
fd
,
struct
stat64_emu31
__user
*
statbuf
);
...
...
arch/s390/kernel/compat_wrapper.S
View file @
52a0b536
...
...
@@ -536,22 +536,6 @@ ENTRY(sys32_prctl_wrapper)
#
sys32_rt_sigreturn_wrapper
#
done
in
rt_sigreturn_glue
ENTRY
(
sys32_pread64_wrapper
)
llgfr
%
r2
,%
r2
#
unsigned
int
llgtr
%
r3
,%
r3
#
char
*
llgfr
%
r4
,%
r4
#
size_t
llgfr
%
r5
,%
r5
#
u32
llgfr
%
r6
,%
r6
#
u32
jg
sys32_pread64
#
branch
to
system
call
ENTRY
(
sys32_pwrite64_wrapper
)
llgfr
%
r2
,%
r2
#
unsigned
int
llgtr
%
r3
,%
r3
#
const
char
*
llgfr
%
r4
,%
r4
#
size_t
llgfr
%
r5
,%
r5
#
u32
llgfr
%
r6
,%
r6
#
u32
jg
sys32_pwrite64
#
branch
to
system
call
ENTRY
(
sys32_getcwd_wrapper
)
llgtr
%
r2
,%
r2
#
char
*
llgfr
%
r3
,%
r3
#
unsigned
long
...
...
@@ -569,12 +553,6 @@ ENTRY(sys32_capset_wrapper)
#
sys32_vfork_wrapper
#
done
in
vfork_glue
ENTRY
(
sys32_ftruncate64_wrapper
)
llgfr
%
r2
,%
r2
#
unsigned
int
llgfr
%
r3
,%
r3
#
unsigned
long
llgfr
%
r4
,%
r4
#
unsigned
long
jg
sys32_ftruncate64
#
branch
to
system
call
ENTRY
(
sys32_lchown_wrapper
)
llgtr
%
r2
,%
r2
#
const
char
*
llgfr
%
r3
,%
r3
#
uid_t
...
...
@@ -687,11 +665,6 @@ ENTRY(compat_sys_fcntl64_wrapper)
llgfr
%
r4
,%
r4
#
unsigned
long
jg
compat_sys_fcntl64
#
branch
to
system
call
ENTRY
(
sys32_stat64_wrapper
)
llgtr
%
r2
,%
r2
#
char
*
llgtr
%
r3
,%
r3
#
struct
stat64
*
jg
sys32_stat64
#
branch
to
system
call
ENTRY
(
sys32_lstat64_wrapper
)
llgtr
%
r2
,%
r2
#
char
*
llgtr
%
r3
,%
r3
#
struct
stat64
*
...
...
@@ -1201,13 +1174,6 @@ ENTRY(sys_epoll_create1_wrapper)
lgfr
%
r2
,%
r2
#
int
jg
sys_epoll_create1
#
branch
to
system
call
ENTRY
(
sys32_readahead_wrapper
)
lgfr
%
r2
,%
r2
#
int
llgfr
%
r3
,%
r3
#
u32
llgfr
%
r4
,%
r4
#
u32
lgfr
%
r5
,%
r5
#
s32
jg
sys32_readahead
#
branch
to
system
call
ENTRY
(
sys_tkill_wrapper
)
lgfr
%
r2
,%
r2
#
pid_t
lgfr
%
r3
,%
r3
#
int
...
...
arch/s390/kernel/syscalls.S
View file @
52a0b536
...
...
@@ -188,8 +188,8 @@ SYSCALL(sys_rt_sigpending,sys_rt_sigpending,compat_sys_rt_sigpending)
SYSCALL
(
sys_rt_sigtimedwait
,
sys_rt_sigtimedwait
,
compat_sys_rt_sigtimedwait
)
SYSCALL
(
sys_rt_sigqueueinfo
,
sys_rt_sigqueueinfo
,
compat_sys_rt_sigqueueinfo
)
SYSCALL
(
sys_rt_sigsuspend
,
sys_rt_sigsuspend
,
compat_sys_rt_sigsuspend
)
SYSCALL
(
sys_pread64
,
sys_pread64
,
sys32_pread64_wrapper
)
/
*
180
*/
SYSCALL
(
sys_pwrite64
,
sys_pwrite64
,
sys32_pwrite64_wrapper
)
SYSCALL
(
sys_pread64
,
sys_pread64
,
compat_sys_s390_pread64
)
/
*
180
*/
SYSCALL
(
sys_pwrite64
,
sys_pwrite64
,
compat_sys_s390_pwrite64
)
SYSCALL
(
sys_chown16
,
sys_ni_syscall
,
compat_sys_s390_chown16
)
/
*
old
chown16
syscall
*/
SYSCALL
(
sys_getcwd
,
sys_getcwd
,
sys32_getcwd_wrapper
)
SYSCALL
(
sys_capget
,
sys_capget
,
sys32_capget_wrapper
)
...
...
@@ -202,8 +202,8 @@ SYSCALL(sys_vfork,sys_vfork,sys_vfork) /* 190 */
SYSCALL
(
sys_getrlimit
,
sys_getrlimit
,
compat_sys_getrlimit_wrapper
)
SYSCALL
(
sys_mmap2
,
sys_mmap2
,
sys32_mmap2_wrapper
)
SYSCALL
(
sys_truncate64
,
sys_ni_syscall
,
compat_sys_s390_truncate64
)
SYSCALL
(
sys_ftruncate64
,
sys_ni_syscall
,
sys32_ftruncate64_wrapper
)
SYSCALL
(
sys_stat64
,
sys_ni_syscall
,
sys32_stat64_wrapper
)
/
*
195
*/
SYSCALL
(
sys_ftruncate64
,
sys_ni_syscall
,
compat_sys_s390_ftruncate64
)
SYSCALL
(
sys_stat64
,
sys_ni_syscall
,
compat_sys_s390_stat64
)
/
*
195
*/
SYSCALL
(
sys_lstat64
,
sys_ni_syscall
,
sys32_lstat64_wrapper
)
SYSCALL
(
sys_fstat64
,
sys_ni_syscall
,
sys32_fstat64_wrapper
)
SYSCALL
(
sys_lchown
,
sys_lchown
,
sys32_lchown_wrapper
)
...
...
@@ -230,7 +230,7 @@ SYSCALL(sys_mincore,sys_mincore,sys32_mincore_wrapper)
SYSCALL
(
sys_madvise
,
sys_madvise
,
sys32_madvise_wrapper
)
SYSCALL
(
sys_getdents64
,
sys_getdents64
,
sys32_getdents64_wrapper
)
/
*
220
*/
SYSCALL
(
sys_fcntl64
,
sys_ni_syscall
,
compat_sys_fcntl64_wrapper
)
SYSCALL
(
sys_readahead
,
sys_readahead
,
sys32_readahead_wrapper
)
SYSCALL
(
sys_readahead
,
sys_readahead
,
compat_sys_s390_readahead
)
SYSCALL
(
sys_sendfile64
,
sys_ni_syscall
,
compat_sys_sendfile64
)
SYSCALL
(
sys_setxattr
,
sys_setxattr
,
sys32_setxattr_wrapper
)
SYSCALL
(
sys_lsetxattr
,
sys_lsetxattr
,
sys32_lsetxattr_wrapper
)
/
*
225
*/
...
...
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