]> Pileus Git - ~andy/linux/blobdiff - arch/x86/um/elfcore.c
switch elf_core_write_extra_phdrs() to dump_emit()
[~andy/linux] / arch / x86 / um / elfcore.c
index 6bb49b687c9791a379317343d6597d996fa72402..fc21f98efafe159b2e842cc20cbd589b0f45951c 100644 (file)
@@ -11,8 +11,7 @@ Elf32_Half elf_core_extra_phdrs(void)
        return vsyscall_ehdr ? (((struct elfhdr *)vsyscall_ehdr)->e_phnum) : 0;
 }
 
-int elf_core_write_extra_phdrs(struct file *file, loff_t offset, size_t *size,
-                              unsigned long limit)
+int elf_core_write_extra_phdrs(struct coredump_params *cprm, loff_t offset)
 {
        if ( vsyscall_ehdr ) {
                const struct elfhdr *const ehdrp =
@@ -32,9 +31,7 @@ int elf_core_write_extra_phdrs(struct file *file, loff_t offset, size_t *size,
                                phdr.p_offset += ofs;
                        }
                        phdr.p_paddr = 0; /* match other core phdrs */
-                       *size += sizeof(phdr);
-                       if (*size > limit
-                           || !dump_write(file, &phdr, sizeof(phdr)))
+                       if (!dump_emit(cprm, &phdr, sizeof(phdr)))
                                return 0;
                }
        }