Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
3ee6a449
K
Kernel
项目概览
openeuler
/
Kernel
接近 2 年 前同步成功
通知
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看板
提交
3ee6a449
编写于
6月 18, 2018
作者:
E
Eric W. Biederman
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
signal/arm: Use force_sig_fault where appropriate
Signed-off-by:
N
"Eric W. Biederman"
<
ebiederm@xmission.com
>
上级
05e792e3
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
4 addition
and
27 deletion
+4
-27
arch/arm/kernel/ptrace.c
arch/arm/kernel/ptrace.c
+2
-9
arch/arm/mm/alignment.c
arch/arm/mm/alignment.c
+1
-9
arch/arm/mm/fault.c
arch/arm/mm/fault.c
+1
-9
未找到文件。
arch/arm/kernel/ptrace.c
浏览文件 @
3ee6a449
...
@@ -203,15 +203,8 @@ void ptrace_disable(struct task_struct *child)
...
@@ -203,15 +203,8 @@ void ptrace_disable(struct task_struct *child)
*/
*/
void
ptrace_break
(
struct
task_struct
*
tsk
,
struct
pt_regs
*
regs
)
void
ptrace_break
(
struct
task_struct
*
tsk
,
struct
pt_regs
*
regs
)
{
{
siginfo_t
info
;
force_sig_fault
(
SIGTRAP
,
TRAP_BRKPT
,
(
void
__user
*
)
instruction_pointer
(
regs
),
tsk
);
clear_siginfo
(
&
info
);
info
.
si_signo
=
SIGTRAP
;
info
.
si_errno
=
0
;
info
.
si_code
=
TRAP_BRKPT
;
info
.
si_addr
=
(
void
__user
*
)
instruction_pointer
(
regs
);
force_sig_info
(
SIGTRAP
,
&
info
,
tsk
);
}
}
static
int
break_trap
(
struct
pt_regs
*
regs
,
unsigned
int
instr
)
static
int
break_trap
(
struct
pt_regs
*
regs
,
unsigned
int
instr
)
...
...
arch/arm/mm/alignment.c
浏览文件 @
3ee6a449
...
@@ -948,15 +948,7 @@ do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
...
@@ -948,15 +948,7 @@ do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
goto
fixup
;
goto
fixup
;
if
(
ai_usermode
&
UM_SIGNAL
)
{
if
(
ai_usermode
&
UM_SIGNAL
)
{
siginfo_t
si
;
force_sig_fault
(
SIGBUS
,
BUS_ADRALN
,
(
void
__user
*
)
addr
,
current
);
clear_siginfo
(
&
si
);
si
.
si_signo
=
SIGBUS
;
si
.
si_errno
=
0
;
si
.
si_code
=
BUS_ADRALN
;
si
.
si_addr
=
(
void
__user
*
)
addr
;
force_sig_info
(
si
.
si_signo
,
&
si
,
current
);
}
else
{
}
else
{
/*
/*
* We're about to disable the alignment trap and return to
* We're about to disable the alignment trap and return to
...
...
arch/arm/mm/fault.c
浏览文件 @
3ee6a449
...
@@ -161,13 +161,9 @@ __do_user_fault(struct task_struct *tsk, unsigned long addr,
...
@@ -161,13 +161,9 @@ __do_user_fault(struct task_struct *tsk, unsigned long addr,
unsigned
int
fsr
,
unsigned
int
sig
,
int
code
,
unsigned
int
fsr
,
unsigned
int
sig
,
int
code
,
struct
pt_regs
*
regs
)
struct
pt_regs
*
regs
)
{
{
struct
siginfo
si
;
if
(
addr
>
TASK_SIZE
)
if
(
addr
>
TASK_SIZE
)
harden_branch_predictor
();
harden_branch_predictor
();
clear_siginfo
(
&
si
);
#ifdef CONFIG_DEBUG_USER
#ifdef CONFIG_DEBUG_USER
if
(((
user_debug
&
UDBG_SEGV
)
&&
(
sig
==
SIGSEGV
))
||
if
(((
user_debug
&
UDBG_SEGV
)
&&
(
sig
==
SIGSEGV
))
||
((
user_debug
&
UDBG_BUS
)
&&
(
sig
==
SIGBUS
)))
{
((
user_debug
&
UDBG_BUS
)
&&
(
sig
==
SIGBUS
)))
{
...
@@ -181,11 +177,7 @@ __do_user_fault(struct task_struct *tsk, unsigned long addr,
...
@@ -181,11 +177,7 @@ __do_user_fault(struct task_struct *tsk, unsigned long addr,
tsk
->
thread
.
address
=
addr
;
tsk
->
thread
.
address
=
addr
;
tsk
->
thread
.
error_code
=
fsr
;
tsk
->
thread
.
error_code
=
fsr
;
tsk
->
thread
.
trap_no
=
14
;
tsk
->
thread
.
trap_no
=
14
;
si
.
si_signo
=
sig
;
force_sig_fault
(
sig
,
code
,
(
void
__user
*
)
addr
,
tsk
);
si
.
si_errno
=
0
;
si
.
si_code
=
code
;
si
.
si_addr
=
(
void
__user
*
)
addr
;
force_sig_info
(
sig
,
&
si
,
tsk
);
}
}
void
do_bad_area
(
unsigned
long
addr
,
unsigned
int
fsr
,
struct
pt_regs
*
regs
)
void
do_bad_area
(
unsigned
long
addr
,
unsigned
int
fsr
,
struct
pt_regs
*
regs
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录