Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
22a8cb82
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看板
提交
22a8cb82
编写于
10月 08, 2013
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
new helper: dump_align()
dump_skip to given alignment... Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
7b1f4020
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
15 addition
and
17 deletion
+15
-17
arch/powerpc/platforms/cell/spufs/coredump.c
arch/powerpc/platforms/cell/spufs/coredump.c
+1
-1
fs/binfmt_elf.c
fs/binfmt_elf.c
+2
-8
fs/binfmt_elf_fdpic.c
fs/binfmt_elf_fdpic.c
+2
-8
fs/coredump.c
fs/coredump.c
+9
-0
include/linux/coredump.h
include/linux/coredump.h
+1
-0
未找到文件。
arch/powerpc/platforms/cell/spufs/coredump.c
浏览文件 @
22a8cb82
...
@@ -156,7 +156,7 @@ static int spufs_arch_write_note(struct spu_context *ctx, int i,
...
@@ -156,7 +156,7 @@ static int spufs_arch_write_note(struct spu_context *ctx, int i,
if
(
!
dump_emit
(
cprm
,
fullname
,
en
.
n_namesz
))
if
(
!
dump_emit
(
cprm
,
fullname
,
en
.
n_namesz
))
goto
Eio
;
goto
Eio
;
if
(
!
dump_
skip
(
cprm
,
roundup
(
cprm
->
written
,
4
)
-
cprm
->
written
))
if
(
!
dump_
align
(
cprm
,
4
))
goto
Eio
;
goto
Eio
;
do
{
do
{
...
...
fs/binfmt_elf.c
浏览文件 @
22a8cb82
...
@@ -1225,12 +1225,6 @@ static int notesize(struct memelfnote *en)
...
@@ -1225,12 +1225,6 @@ static int notesize(struct memelfnote *en)
return
sz
;
return
sz
;
}
}
static
int
alignfile
(
struct
coredump_params
*
cprm
)
{
static
const
char
buf
[
4
]
=
{
0
,
};
return
dump_emit
(
cprm
,
buf
,
roundup
(
cprm
->
written
,
4
)
-
cprm
->
written
);
}
static
int
writenote
(
struct
memelfnote
*
men
,
struct
coredump_params
*
cprm
)
static
int
writenote
(
struct
memelfnote
*
men
,
struct
coredump_params
*
cprm
)
{
{
struct
elf_note
en
;
struct
elf_note
en
;
...
@@ -1239,8 +1233,8 @@ static int writenote(struct memelfnote *men, struct coredump_params *cprm)
...
@@ -1239,8 +1233,8 @@ static int writenote(struct memelfnote *men, struct coredump_params *cprm)
en
.
n_type
=
men
->
type
;
en
.
n_type
=
men
->
type
;
return
dump_emit
(
cprm
,
&
en
,
sizeof
(
en
))
&&
return
dump_emit
(
cprm
,
&
en
,
sizeof
(
en
))
&&
dump_emit
(
cprm
,
men
->
name
,
en
.
n_namesz
)
&&
alignfile
(
cprm
)
&&
dump_emit
(
cprm
,
men
->
name
,
en
.
n_namesz
)
&&
dump_align
(
cprm
,
4
)
&&
dump_emit
(
cprm
,
men
->
data
,
men
->
datasz
)
&&
alignfile
(
cprm
);
dump_emit
(
cprm
,
men
->
data
,
men
->
datasz
)
&&
dump_align
(
cprm
,
4
);
}
}
static
void
fill_elf_header
(
struct
elfhdr
*
elf
,
int
segs
,
static
void
fill_elf_header
(
struct
elfhdr
*
elf
,
int
segs
,
...
...
fs/binfmt_elf_fdpic.c
浏览文件 @
22a8cb82
...
@@ -1267,12 +1267,6 @@ static int notesize(struct memelfnote *en)
...
@@ -1267,12 +1267,6 @@ static int notesize(struct memelfnote *en)
/* #define DEBUG */
/* #define DEBUG */
static
int
alignfile
(
struct
coredump_params
*
cprm
)
{
static
const
char
buf
[
4
]
=
{
0
,
};
return
dump_emit
(
cprm
,
buf
,
roundup
(
cprm
->
written
,
4
)
-
cprm
->
written
);
}
static
int
writenote
(
struct
memelfnote
*
men
,
struct
coredump_params
*
cprm
)
static
int
writenote
(
struct
memelfnote
*
men
,
struct
coredump_params
*
cprm
)
{
{
struct
elf_note
en
;
struct
elf_note
en
;
...
@@ -1281,8 +1275,8 @@ static int writenote(struct memelfnote *men, struct coredump_params *cprm)
...
@@ -1281,8 +1275,8 @@ static int writenote(struct memelfnote *men, struct coredump_params *cprm)
en
.
n_type
=
men
->
type
;
en
.
n_type
=
men
->
type
;
return
dump_emit
(
cprm
,
&
en
,
sizeof
(
en
))
&&
return
dump_emit
(
cprm
,
&
en
,
sizeof
(
en
))
&&
dump_emit
(
cprm
,
men
->
name
,
en
.
n_namesz
)
&&
alignfile
(
cprm
)
&&
dump_emit
(
cprm
,
men
->
name
,
en
.
n_namesz
)
&&
dump_align
(
cprm
,
4
)
&&
dump_emit
(
cprm
,
men
->
data
,
men
->
datasz
)
&&
alignfile
(
cprm
);
dump_emit
(
cprm
,
men
->
data
,
men
->
datasz
)
&&
dump_align
(
cprm
,
4
);
}
}
static
inline
void
fill_elf_fdpic_header
(
struct
elfhdr
*
elf
,
int
segs
)
static
inline
void
fill_elf_fdpic_header
(
struct
elfhdr
*
elf
,
int
segs
)
...
...
fs/coredump.c
浏览文件 @
22a8cb82
...
@@ -728,3 +728,12 @@ int dump_skip(struct coredump_params *cprm, size_t nr)
...
@@ -728,3 +728,12 @@ int dump_skip(struct coredump_params *cprm, size_t nr)
}
}
}
}
EXPORT_SYMBOL
(
dump_skip
);
EXPORT_SYMBOL
(
dump_skip
);
int
dump_align
(
struct
coredump_params
*
cprm
,
int
align
)
{
unsigned
mod
=
cprm
->
written
&
(
align
-
1
);
if
(
align
&
(
align
-
1
))
return
-
EINVAL
;
return
mod
?
dump_skip
(
cprm
,
align
-
mod
)
:
0
;
}
EXPORT_SYMBOL
(
dump_align
);
include/linux/coredump.h
浏览文件 @
22a8cb82
...
@@ -13,6 +13,7 @@
...
@@ -13,6 +13,7 @@
struct
coredump_params
;
struct
coredump_params
;
extern
int
dump_skip
(
struct
coredump_params
*
cprm
,
size_t
nr
);
extern
int
dump_skip
(
struct
coredump_params
*
cprm
,
size_t
nr
);
extern
int
dump_emit
(
struct
coredump_params
*
cprm
,
const
void
*
addr
,
int
nr
);
extern
int
dump_emit
(
struct
coredump_params
*
cprm
,
const
void
*
addr
,
int
nr
);
extern
int
dump_align
(
struct
coredump_params
*
cprm
,
int
align
);
#ifdef CONFIG_COREDUMP
#ifdef CONFIG_COREDUMP
extern
void
do_coredump
(
siginfo_t
*
siginfo
);
extern
void
do_coredump
(
siginfo_t
*
siginfo
);
#else
#else
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录