Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
52a0b536
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
52a0b536
编写于
2月 26, 2014
作者:
H
Heiko Carstens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
s390/compat: convert to COMPAT_SYSCALL_DEFINEx part 5
Signed-off-by:
N
Heiko Carstens
<
heiko.carstens@de.ibm.com
>
上级
e723e0cc
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
21 addition
and
60 deletion
+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
未找到文件。
arch/s390/kernel/compat_linux.c
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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
*/
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录