Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit afabada9 authored by Al Viro's avatar Al Viro
Browse files

elf{,_fdpic} coredump: get rid of pointless if (siginfo->si_signo)



we can't get to do_coredump() if that condition isn't satisfied...

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent ec57941e
Loading
Loading
Loading
Loading
+15 −18
Original line number Diff line number Diff line
@@ -1833,14 +1833,12 @@ static int fill_note_info(struct elfhdr *elf, int phdrs,
			  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);
@@ -1858,7 +1856,6 @@ static int fill_note_info(struct elfhdr *elf, int phdrs,
		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));
	fill_prstatus(info->prstatus, current, siginfo->si_signo);
+16 −19
Original line number Diff line number Diff line
@@ -1561,6 +1561,8 @@ static int elf_fdpic_core_dump(struct coredump_params *cprm)
	struct elf_shdr *shdr4extnum = NULL;
	Elf_Half e_phnum;
	elf_addr_t e_shoff;
	struct core_thread *ct;
	struct elf_thread_status *tmp;

	/*
	 * We no longer stop all VM operations.
@@ -1596,10 +1598,6 @@ static int elf_fdpic_core_dump(struct coredump_params *cprm)
		goto cleanup;
#endif

	if (cprm->siginfo->si_signo) {
		struct core_thread *ct;
		struct elf_thread_status *tmp;

	for (ct = current->mm->core_state->dumper.next;
					ct; ct = ct->next) {
		tmp = kzalloc(sizeof(*tmp), GFP_KERNEL);
@@ -1618,7 +1616,6 @@ static int elf_fdpic_core_dump(struct coredump_params *cprm)
		sz = elf_dump_thread_status(cprm->siginfo->si_signo, tmp);
		thread_status_size += sz;
	}
	}

	/* now collect the dump for the current */
	fill_prstatus(prstatus, current, cprm->siginfo->si_signo);