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

Commit d6f64b89 authored by Al Viro's avatar Al Viro
Browse files

close race in /proc/*/environ



Switch to mm_for_maps().  Maybe we ought to make it r--r--r--,
since we do checks on IO anyway...

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent ec6fd8a4
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -919,20 +919,18 @@ static ssize_t environ_read(struct file *file, char __user *buf,
	if (!task)
		goto out_no_task;

	if (!ptrace_may_access(task, PTRACE_MODE_READ))
		goto out;

	ret = -ENOMEM;
	page = (char *)__get_free_page(GFP_TEMPORARY);
	if (!page)
		goto out;

	ret = 0;

	mm = get_task_mm(task);
	if (!mm)
	mm = mm_for_maps(task);
	ret = PTR_ERR(mm);
	if (!mm || IS_ERR(mm))
		goto out_free;

	ret = 0;
	while (count > 0) {
		int this_len, retval, max_len;