Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
b0f95824
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
158
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b0f95824
编写于
12月 25, 2012
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
parisc: switch to generic compat rt_sigaction()
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
d914b8dc
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
2 addition
and
56 deletion
+2
-56
arch/parisc/Kconfig
arch/parisc/Kconfig
+1
-0
arch/parisc/kernel/signal32.c
arch/parisc/kernel/signal32.c
+0
-28
arch/parisc/kernel/signal32.h
arch/parisc/kernel/signal32.h
+0
-15
arch/parisc/kernel/sys32.h
arch/parisc/kernel/sys32.h
+0
-12
arch/parisc/kernel/syscall_table.S
arch/parisc/kernel/syscall_table.S
+1
-1
未找到文件。
arch/parisc/Kconfig
浏览文件 @
b0f95824
...
...
@@ -24,6 +24,7 @@ config PARISC
select MODULES_USE_ELF_RELA
select CLONE_BACKWARDS
select GENERIC_SIGALTSTACK
select GENERIC_COMPAT_RT_SIGACTION
select GENERIC_COMPAT_RT_SIGQUEUEINFO
select GENERIC_COMPAT_RT_SIGPROCMASK
select GENERIC_COMPAT_RT_SIGPENDING
...
...
arch/parisc/kernel/signal32.c
浏览文件 @
b0f95824
...
...
@@ -60,34 +60,6 @@ sigset_64to32(compat_sigset_t *s32, sigset_t *s64)
s32
->
sig
[
1
]
=
(
s64
->
sig
[
0
]
>>
32
)
&
0xffffffffUL
;
}
long
sys32_rt_sigaction
(
int
sig
,
const
struct
sigaction32
__user
*
act
,
struct
sigaction32
__user
*
oact
,
size_t
sigsetsize
)
{
struct
k_sigaction32
new_sa32
,
old_sa32
;
struct
k_sigaction
new_sa
,
old_sa
;
int
ret
=
-
EINVAL
;
if
(
act
)
{
if
(
copy_from_user
(
&
new_sa32
.
sa
,
act
,
sizeof
new_sa32
.
sa
))
return
-
EFAULT
;
new_sa
.
sa
.
sa_handler
=
(
__sighandler_t
)(
unsigned
long
)
new_sa32
.
sa
.
sa_handler
;
new_sa
.
sa
.
sa_flags
=
new_sa32
.
sa
.
sa_flags
;
sigset_32to64
(
&
new_sa
.
sa
.
sa_mask
,
&
new_sa32
.
sa
.
sa_mask
);
}
ret
=
do_sigaction
(
sig
,
act
?
&
new_sa
:
NULL
,
oact
?
&
old_sa
:
NULL
);
if
(
!
ret
&&
oact
)
{
sigset_64to32
(
&
old_sa32
.
sa
.
sa_mask
,
&
old_sa
.
sa
.
sa_mask
);
old_sa32
.
sa
.
sa_flags
=
old_sa
.
sa
.
sa_flags
;
old_sa32
.
sa
.
sa_handler
=
(
__sighandler_t32
)(
unsigned
long
)
old_sa
.
sa
.
sa_handler
;
if
(
copy_to_user
(
oact
,
&
old_sa32
.
sa
,
sizeof
old_sa32
.
sa
))
return
-
EFAULT
;
}
return
ret
;
}
long
restore_sigcontext32
(
struct
compat_sigcontext
__user
*
sc
,
struct
compat_regfile
__user
*
rf
,
struct
pt_regs
*
regs
)
...
...
arch/parisc/kernel/signal32.h
浏览文件 @
b0f95824
...
...
@@ -21,17 +21,6 @@
#include <linux/compat.h>
typedef
compat_uptr_t
compat_sighandler_t
;
/* Most things should be clean enough to redefine this at will, if care
is taken to make libc match. */
struct
compat_sigaction
{
compat_sighandler_t
sa_handler
;
compat_uint_t
sa_flags
;
compat_sigset_t
sa_mask
;
/* mask last for extensibility */
};
/* 32-bit ucontext as seen from an 64-bit kernel */
struct
compat_ucontext
{
compat_uint_t
uc_flags
;
...
...
@@ -45,10 +34,6 @@ struct compat_ucontext {
/* ELF32 signal handling */
struct
k_sigaction32
{
struct
compat_sigaction
sa
;
};
int
copy_siginfo_to_user32
(
compat_siginfo_t
__user
*
to
,
siginfo_t
*
from
);
int
copy_siginfo_from_user32
(
siginfo_t
*
to
,
compat_siginfo_t
__user
*
from
);
...
...
arch/parisc/kernel/sys32.h
浏览文件 @
b0f95824
...
...
@@ -33,16 +33,4 @@
set_fs (old_fs); \
}
#ifdef CONFIG_COMPAT
typedef
__u32
__sighandler_t32
;
struct
sigaction32
{
__sighandler_t32
sa_handler
;
unsigned
int
sa_flags
;
compat_sigset_t
sa_mask
;
/* mask last for extensibility */
};
#endif
#endif
arch/parisc/kernel/syscall_table.S
浏览文件 @
b0f95824
...
...
@@ -265,7 +265,7 @@
ENTRY_SAME
(
prctl
)
/
*
signals
need
a
careful
review
*/
ENTRY_SAME
(
rt_sigreturn_wrapper
)
ENTRY_
DIFF
(
rt_sigaction
)
ENTRY_
COMP
(
rt_sigaction
)
ENTRY_COMP
(
rt_sigprocmask
)
/*
175
*/
ENTRY_COMP
(
rt_sigpending
)
ENTRY_COMP
(
rt_sigtimedwait
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录