|
@@ -1900,7 +1900,7 @@ static int elf_core_dump(long signr, struct pt_regs *regs, struct file *file, un
|
|
/* alloc memory for large data structures: too large to be on stack */
|
|
/* alloc memory for large data structures: too large to be on stack */
|
|
elf = kmalloc(sizeof(*elf), GFP_KERNEL);
|
|
elf = kmalloc(sizeof(*elf), GFP_KERNEL);
|
|
if (!elf)
|
|
if (!elf)
|
|
- goto cleanup;
|
|
|
|
|
|
+ goto out;
|
|
|
|
|
|
segs = current->mm->map_count;
|
|
segs = current->mm->map_count;
|
|
#ifdef ELF_CORE_EXTRA_PHDRS
|
|
#ifdef ELF_CORE_EXTRA_PHDRS
|
|
@@ -2034,8 +2034,9 @@ end_coredump:
|
|
set_fs(fs);
|
|
set_fs(fs);
|
|
|
|
|
|
cleanup:
|
|
cleanup:
|
|
- kfree(elf);
|
|
|
|
free_note_info(&info);
|
|
free_note_info(&info);
|
|
|
|
+ kfree(elf);
|
|
|
|
+out:
|
|
return has_dumped;
|
|
return has_dumped;
|
|
}
|
|
}
|
|
|
|
|