Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
faec5a96
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看板
提交
faec5a96
编写于
12年前
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
openrisc: switch to generic sigaltstack
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
0aa0203f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
3 addition
and
17 deletion
+3
-17
arch/openrisc/Kconfig
arch/openrisc/Kconfig
+1
-0
arch/openrisc/kernel/entry.S
arch/openrisc/kernel/entry.S
+0
-4
arch/openrisc/kernel/signal.c
arch/openrisc/kernel/signal.c
+2
-13
未找到文件。
arch/openrisc/Kconfig
浏览文件 @
faec5a96
...
...
@@ -22,6 +22,7 @@ config OPENRISC
select GENERIC_STRNCPY_FROM_USER
select GENERIC_STRNLEN_USER
select MODULES_USE_ELF_RELA
select GENERIC_SIGALTSTACK
config MMU
def_bool y
...
...
This diff is collapsed.
Click to expand it.
arch/openrisc/kernel/entry.S
浏览文件 @
faec5a96
...
...
@@ -1083,10 +1083,6 @@ ENTRY(__sys_fork)
l.j
_fork_save_extra_regs_and_call
l.addi
r3
,
r1
,
0
ENTRY
(
sys_sigaltstack
)
l.j
_sys_sigaltstack
l.addi
r5
,
r1
,
0
ENTRY
(
sys_rt_sigreturn
)
l.j
_sys_rt_sigreturn
l.addi
r3
,
r1
,
0
...
...
This diff is collapsed.
Click to expand it.
arch/openrisc/kernel/signal.c
浏览文件 @
faec5a96
...
...
@@ -33,12 +33,6 @@
#define DEBUG_SIG 0
asmlinkage
long
_sys_sigaltstack
(
const
stack_t
*
uss
,
stack_t
*
uoss
,
struct
pt_regs
*
regs
)
{
return
do_sigaltstack
(
uss
,
uoss
,
regs
->
sp
);
}
struct
rt_sigframe
{
struct
siginfo
*
pinfo
;
void
*
puc
;
...
...
@@ -103,9 +97,7 @@ asmlinkage long _sys_rt_sigreturn(struct pt_regs *regs)
if
(
restore_sigcontext
(
regs
,
&
frame
->
uc
.
uc_mcontext
))
goto
badframe
;
/* It is more difficult to avoid calling this function than to
call it and ignore errors. */
if
(
do_sigaltstack
(
&
frame
->
uc
.
uc_stack
,
NULL
,
regs
->
sp
)
==
-
EFAULT
)
if
(
restore_altstack
(
&
frame
->
uc
.
uc_stack
))
goto
badframe
;
return
regs
->
gpr
[
11
];
...
...
@@ -205,10 +197,7 @@ static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
err
|=
__clear_user
(
&
frame
->
uc
,
offsetof
(
struct
ucontext
,
uc_mcontext
));
err
|=
__put_user
(
0
,
&
frame
->
uc
.
uc_flags
);
err
|=
__put_user
(
NULL
,
&
frame
->
uc
.
uc_link
);
err
|=
__put_user
((
void
*
)
current
->
sas_ss_sp
,
&
frame
->
uc
.
uc_stack
.
ss_sp
);
err
|=
__put_user
(
sas_ss_flags
(
regs
->
sp
),
&
frame
->
uc
.
uc_stack
.
ss_flags
);
err
|=
__put_user
(
current
->
sas_ss_size
,
&
frame
->
uc
.
uc_stack
.
ss_size
);
err
|=
__save_altstack
(
&
frame
->
uc
.
uc_stack
,
regs
->
sp
);
err
|=
setup_sigcontext
(
&
frame
->
uc
.
uc_mcontext
,
regs
,
set
->
sig
[
0
]);
err
|=
__copy_to_user
(
&
frame
->
uc
.
uc_sigmask
,
set
,
sizeof
(
*
set
));
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
新手
引导
客服
返回
顶部