Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7696e0c3 authored by Al Viro's avatar Al Viro
Browse files

binfmt_flat: use vm_munmap, we are missing ->mmap_sem there



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 5a5e4c2e
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -562,7 +562,7 @@ static int load_flat_file(struct linux_binprm * bprm,
				realdatastart = (unsigned long) -ENOMEM;
			printk("Unable to allocate RAM for process data, errno %d\n",
					(int)-realdatastart);
			do_munmap(current->mm, textpos, text_len);
			vm_munmap(textpos, text_len);
			ret = realdatastart;
			goto err;
		}
@@ -586,8 +586,8 @@ static int load_flat_file(struct linux_binprm * bprm,
		}
		if (IS_ERR_VALUE(result)) {
			printk("Unable to read data+bss, errno %d\n", (int)-result);
			do_munmap(current->mm, textpos, text_len);
			do_munmap(current->mm, realdatastart, len);
			vm_munmap(textpos, text_len);
			vm_munmap(realdatastart, len);
			ret = result;
			goto err;
		}
@@ -654,7 +654,7 @@ static int load_flat_file(struct linux_binprm * bprm,
		}
		if (IS_ERR_VALUE(result)) {
			printk("Unable to read code+data+bss, errno %d\n",(int)-result);
			do_munmap(current->mm, textpos, text_len + data_len + extra +
			vm_munmap(textpos, text_len + data_len + extra +
				MAX_SHARED_LIBS * sizeof(unsigned long));
			ret = result;
			goto err;