summaryrefslogtreecommitdiff
path: root/fs/exec.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/exec.c')
-rw-r--r--fs/exec.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/exec.c b/fs/exec.c
index aa42fafaa7d3..d1aba2427fd2 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -303,6 +303,9 @@ void install_arg_page(struct vm_area_struct *vma,
pmd_t * pmd;
pte_t * pte;
+ if (unlikely(anon_vma_prepare(vma)))
+ goto out_sig;
+
flush_dcache_page(page);
pgd = pgd_offset(mm, address);
@@ -329,6 +332,7 @@ void install_arg_page(struct vm_area_struct *vma,
return;
out:
spin_unlock(&mm->page_table_lock);
+out_sig:
__free_page(page);
force_sig(SIGKILL, current);
}