]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
binfmt_elf: Fix missing SIGKILL for empty PIE
authorBen Hutchings <ben@decadent.org.uk>
Thu, 25 Apr 2019 21:09:09 +0000 (22:09 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 2 May 2019 20:42:06 +0000 (21:42 +0100)
Commit ea08dc5191d9 "fs/binfmt_elf.c: fix bug in loading of PIE
binaries", which was a backport of commit a87938b2e246 upstream,
added a new failure path to load_elf_binary().

Before commit 19d860a140be "handle suicide on late failure exits in
execve() in search_binary_handler()", load_elf_binary() wass
responsible for sending a fatal signal to the task in case of an error
after flushing the old executable.  Add that to the new failure path.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
fs/binfmt_elf.c

index 972db0c5350daf06d901806938c12c53e7d9bfcf..9701f6797a6483bfa6edbbfd94af78d363054788 100644 (file)
@@ -822,6 +822,7 @@ static int load_elf_binary(struct linux_binprm *bprm)
                        total_size = total_mapping_size(elf_phdata,
                                                        loc->elf_ex.e_phnum);
                        if (!total_size) {
+                               send_sig(SIGKILL, current, 0);
                                retval = -EINVAL;
                                goto out_free_dentry;
                        }