mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-22 22:51:37 +00:00
[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: Eric W. Biederman <ebiederm@xmission.com> Cc: JANAK DESAI <janak@us.ibm.com> Cc: <stable@kerenl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
b40607fc02
commit
06f9d4f94a
1 changed files with 6 additions and 0 deletions
|
@ -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)))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue