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

Commit 06f9d4f9 authored by Eric W. Biederman's avatar Eric W. Biederman Committed by Linus Torvalds
Browse files

[PATCH] unshare: Error if passed unsupported flags



A bare bones trivial patch to ensure we always get -EINVAL on the
unsupported cases for sys_unshare.  If this goes in before 2.6.16 it allows
us to forward compatible with future applications using sys_unshare.

Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
Cc: JANAK DESAI <janak@us.ibm.com>
Cc: <stable@kerenl.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent b40607fc
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -1534,6 +1534,12 @@ asmlinkage long sys_unshare(unsigned long unshare_flags)


	check_unshare_flags(&unshare_flags);
	check_unshare_flags(&unshare_flags);


	/* Return -EINVAL for all unsupported flags */
	err = -EINVAL;
	if (unshare_flags & ~(CLONE_THREAD|CLONE_FS|CLONE_NEWNS|CLONE_SIGHAND|
				CLONE_VM|CLONE_FILES|CLONE_SYSVSEM))
		goto bad_unshare_out;

	if ((err = unshare_thread(unshare_flags)))
	if ((err = unshare_thread(unshare_flags)))
		goto bad_unshare_out;
		goto bad_unshare_out;
	if ((err = unshare_fs(unshare_flags, &new_fs)))
	if ((err = unshare_fs(unshare_flags, &new_fs)))