|
@@ -1704,7 +1704,10 @@ static int elf_core_dump(long signr, struct pt_regs *regs, struct file *file)
|
|
DUMP_SEEK(PAGE_SIZE);
|
|
DUMP_SEEK(PAGE_SIZE);
|
|
} else {
|
|
} else {
|
|
if (page == ZERO_PAGE(addr)) {
|
|
if (page == ZERO_PAGE(addr)) {
|
|
- DUMP_SEEK(PAGE_SIZE);
|
|
|
|
|
|
+ if (!dump_seek(file, PAGE_SIZE)) {
|
|
|
|
+ page_cache_release(page);
|
|
|
|
+ goto end_coredump;
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
void *kaddr;
|
|
void *kaddr;
|
|
flush_cache_page(vma, addr,
|
|
flush_cache_page(vma, addr,
|