Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
[deliverable/linux.git] / fs / binfmt_elf.c
index c56ae3264a651777beaf396386b97c98cfd95622..571a423269085177a1d15e932f400ce1673619ca 100644 (file)
@@ -1225,12 +1225,6 @@ static int notesize(struct memelfnote *en)
        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)
 {
        struct elf_note en;
@@ -1239,8 +1233,8 @@ static int writenote(struct memelfnote *men, struct coredump_params *cprm)
        en.n_type = men->type;
 
        return dump_emit(cprm, &en, sizeof(en)) &&
-           dump_emit(cprm, men->name, en.n_namesz) && alignfile(cprm) &&
-           dump_emit(cprm, men->data, men->datasz) && alignfile(cprm);
+           dump_emit(cprm, men->name, en.n_namesz) && dump_align(cprm, 4) &&
+           dump_emit(cprm, men->data, men->datasz) && dump_align(cprm, 4);
 }
 
 static void fill_elf_header(struct elfhdr *elf, int segs,
@@ -1380,7 +1374,7 @@ static void fill_auxv_note(struct memelfnote *note, struct mm_struct *mm)
 }
 
 static void fill_siginfo_note(struct memelfnote *note, user_siginfo_t *csigdata,
-               siginfo_t *siginfo)
+               const siginfo_t *siginfo)
 {
        mm_segment_t old_fs = get_fs();
        set_fs(KERNEL_DS);
@@ -1587,7 +1581,7 @@ static int fill_thread_core_info(struct elf_thread_core_info *t,
 
 static int fill_note_info(struct elfhdr *elf, int phdrs,
                          struct elf_note_info *info,
-                         siginfo_t *siginfo, struct pt_regs *regs)
+                         const siginfo_t *siginfo, struct pt_regs *regs)
 {
        struct task_struct *dump_task = current;
        const struct user_regset_view *view = task_user_regset_view(dump_task);
@@ -1836,34 +1830,31 @@ static int elf_note_info_init(struct elf_note_info *info)
 
 static int fill_note_info(struct elfhdr *elf, int phdrs,
                          struct elf_note_info *info,
-                         siginfo_t *siginfo, struct pt_regs *regs)
+                         const siginfo_t *siginfo, struct pt_regs *regs)
 {
        struct list_head *t;
+       struct core_thread *ct;
+       struct elf_thread_status *ets;
 
        if (!elf_note_info_init(info))
                return 0;
 
-       if (siginfo->si_signo) {
-               struct core_thread *ct;
-               struct elf_thread_status *ets;
-
-               for (ct = current->mm->core_state->dumper.next;
-                                               ct; ct = ct->next) {
-                       ets = kzalloc(sizeof(*ets), GFP_KERNEL);
-                       if (!ets)
-                               return 0;
+       for (ct = current->mm->core_state->dumper.next;
+                                       ct; ct = ct->next) {
+               ets = kzalloc(sizeof(*ets), GFP_KERNEL);
+               if (!ets)
+                       return 0;
 
-                       ets->thread = ct->task;
-                       list_add(&ets->list, &info->thread_list);
-               }
+               ets->thread = ct->task;
+               list_add(&ets->list, &info->thread_list);
+       }
 
-               list_for_each(t, &info->thread_list) {
-                       int sz;
+       list_for_each(t, &info->thread_list) {
+               int sz;
 
-                       ets = list_entry(t, struct elf_thread_status, list);
-                       sz = elf_dump_thread_status(siginfo->si_signo, ets);
-                       info->thread_status_size += sz;
-               }
+               ets = list_entry(t, struct elf_thread_status, list);
+               sz = elf_dump_thread_status(siginfo->si_signo, ets);
+               info->thread_status_size += sz;
        }
        /* now collect the dump for the current */
        memset(info->prstatus, 0, sizeof(*info->prstatus));
This page took 0.025072 seconds and 5 git commands to generate.