Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
xenomai
ipipe
Commits
aa3e7eaf
Commit
aa3e7eaf
authored
Oct 05, 2013
by
Al Viro
Browse files
switch elf_core_write_extra_data() to dump_emit()
Signed-off-by:
Al Viro
<
viro@zeniv.linux.org.uk
>
parent
506f21c5
Changes
5
Hide whitespace changes
Inline
Side-by-side
arch/ia64/kernel/elfcore.c
View file @
aa3e7eaf
...
...
@@ -40,8 +40,7 @@ int elf_core_write_extra_phdrs(struct coredump_params *cprm, loff_t offset)
return
1
;
}
int
elf_core_write_extra_data
(
struct
file
*
file
,
size_t
*
size
,
unsigned
long
limit
)
int
elf_core_write_extra_data
(
struct
coredump_params
*
cprm
)
{
const
struct
elf_phdr
*
const
gate_phdrs
=
(
const
struct
elf_phdr
*
)
(
GATE_ADDR
+
GATE_EHDR
->
e_phoff
);
...
...
@@ -52,8 +51,7 @@ int elf_core_write_extra_data(struct file *file, size_t *size,
void
*
addr
=
(
void
*
)
gate_phdrs
[
i
].
p_vaddr
;
size_t
memsz
=
PAGE_ALIGN
(
gate_phdrs
[
i
].
p_memsz
);
*
size
+=
memsz
;
if
(
*
size
>
limit
||
!
dump_write
(
file
,
addr
,
memsz
))
if
(
!
dump_emit
(
cprm
,
addr
,
memsz
))
return
0
;
break
;
}
...
...
arch/x86/um/elfcore.c
View file @
aa3e7eaf
...
...
@@ -38,8 +38,7 @@ int elf_core_write_extra_phdrs(struct coredump_params *cprm, loff_t offset)
return
1
;
}
int
elf_core_write_extra_data
(
struct
file
*
file
,
size_t
*
size
,
unsigned
long
limit
)
int
elf_core_write_extra_data
(
struct
coredump_params
*
cprm
)
{
if
(
vsyscall_ehdr
)
{
const
struct
elfhdr
*
const
ehdrp
=
...
...
@@ -52,10 +51,7 @@ int elf_core_write_extra_data(struct file *file, size_t *size,
if
(
phdrp
[
i
].
p_type
==
PT_LOAD
)
{
void
*
addr
=
(
void
*
)
phdrp
[
i
].
p_vaddr
;
size_t
filesz
=
phdrp
[
i
].
p_filesz
;
*
size
+=
filesz
;
if
(
*
size
>
limit
||
!
dump_write
(
file
,
addr
,
filesz
))
if
(
!
dump_emit
(
cprm
,
addr
,
filesz
))
return
0
;
}
}
...
...
fs/binfmt_elf.c
View file @
aa3e7eaf
...
...
@@ -2196,8 +2196,10 @@ static int elf_core_dump(struct coredump_params *cprm)
}
}
if
(
!
elf_core_write_extra_data
(
cprm
->
file
,
&
size
,
cprm
->
limit
))
cprm
->
written
=
size
;
if
(
!
elf_core_write_extra_data
(
cprm
))
goto
end_coredump
;
size
=
cprm
->
written
;
if
(
e_phnum
==
PN_XNUM
)
{
size
+=
sizeof
(
*
shdr4extnum
);
...
...
fs/binfmt_elf_fdpic.c
View file @
aa3e7eaf
...
...
@@ -1818,8 +1818,10 @@ static int elf_fdpic_core_dump(struct coredump_params *cprm)
cprm
->
mm_flags
)
<
0
)
goto
end_coredump
;
if
(
!
elf_core_write_extra_data
(
cprm
->
file
,
&
size
,
cprm
->
limit
))
cprm
->
written
=
size
;
if
(
!
elf_core_write_extra_data
(
cprm
))
goto
end_coredump
;
size
=
cprm
->
written
;
if
(
e_phnum
==
PN_XNUM
)
{
size
+=
sizeof
(
*
shdr4extnum
);
...
...
include/linux/elfcore.h
View file @
aa3e7eaf
...
...
@@ -67,7 +67,7 @@ extern Elf_Half elf_core_extra_phdrs(void);
extern
int
elf_core_write_extra_phdrs
(
struct
coredump_params
*
cprm
,
loff_t
offset
);
extern
int
elf_core_write_extra_data
(
struct
file
*
file
,
size_t
*
size
,
unsigned
long
limit
);
elf_core_write_extra_data
(
struct
coredump_params
*
cprm
);
extern
size_t
elf_core_extra_data_size
(
void
);
#endif
/* _LINUX_ELFCORE_H */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment