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

Commit 11d06b2a authored by Al Viro's avatar Al Viro
Browse files

Kill unsharing fs_struct in __set_personality()



That's a rudiment of altroot support.  I.e. it should've been buried
a long time ago.

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 15f7176e
Loading
Loading
Loading
Loading
+0 −22
Original line number Diff line number Diff line
@@ -145,28 +145,6 @@ __set_personality(u_long personality)
		return 0;
	}

	if (atomic_read(&current->fs->count) != 1) {
		struct fs_struct *fsp, *ofsp;

		fsp = copy_fs_struct(current->fs);
		if (fsp == NULL) {
			module_put(ep->module);
			return -ENOMEM;
		}

		task_lock(current);
		ofsp = current->fs;
		current->fs = fsp;
		task_unlock(current);

		put_fs_struct(ofsp);
	}

	/*
	 * At that point we are guaranteed to be the sole owner of
	 * current->fs.
	 */

	current->personality = personality;
	oep = current_thread_info()->exec_domain;
	current_thread_info()->exec_domain = ep;