diff options
Diffstat (limited to 'arch/arm/kernel/process.c')
-rw-r--r-- | arch/arm/kernel/process.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index a647d6642f3e..4a803c5a1ff7 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c | |||
@@ -420,7 +420,8 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) | |||
420 | npages = 1; /* for sigpage */ | 420 | npages = 1; /* for sigpage */ |
421 | npages += vdso_total_pages; | 421 | npages += vdso_total_pages; |
422 | 422 | ||
423 | down_write(&mm->mmap_sem); | 423 | if (down_write_killable(&mm->mmap_sem)) |
424 | return -EINTR; | ||
424 | hint = sigpage_addr(mm, npages); | 425 | hint = sigpage_addr(mm, npages); |
425 | addr = get_unmapped_area(NULL, hint, npages << PAGE_SHIFT, 0, 0); | 426 | addr = get_unmapped_area(NULL, hint, npages << PAGE_SHIFT, 0, 0); |
426 | if (IS_ERR_VALUE(addr)) { | 427 | if (IS_ERR_VALUE(addr)) { |