diff options
Diffstat (limited to 'fs/exec.c')
| -rw-r--r-- | fs/exec.c | 4 |
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); } |
