summaryrefslogtreecommitdiff
path: root/arch/s390/kernel/vdso.c
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2016-05-18 14:10:29 +1000
committerStephen Rothwell <sfr@canb.auug.org.au>2016-05-18 14:10:29 +1000
commit835519b7469b21256b1a65404a7e306996e9296a (patch)
treed07c29ed3a8755d58d9fc54c3c1bc1963bef4cf1 /arch/s390/kernel/vdso.c
parentd0a783895690d227fb7cadc5482d787fb44fd425 (diff)
parent00e984c3a3ea20cdaf22ff5355f50d8a01a81ce7 (diff)
Merge branch 'akpm/master'
Diffstat (limited to 'arch/s390/kernel/vdso.c')
-rw-r--r--arch/s390/kernel/vdso.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/s390/kernel/vdso.c b/arch/s390/kernel/vdso.c
index 94495cac8be3..5904abf6b1ae 100644
--- a/arch/s390/kernel/vdso.c
+++ b/arch/s390/kernel/vdso.c
@@ -216,7 +216,8 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp)
* it at vdso_base which is the "natural" base for it, but we might
* fail and end up putting it elsewhere.
*/
- down_write(&mm->mmap_sem);
+ if (down_write_killable(&mm->mmap_sem))
+ return -EINTR;
vdso_base = get_unmapped_area(NULL, 0, vdso_pages << PAGE_SHIFT, 0, 0);
if (IS_ERR_VALUE(vdso_base)) {
rc = vdso_base;