From b7a89a3e07bc16a88f36520701bc807e13a77240 Mon Sep 17 00:00:00 2001 From: "Eric W. Biederman" Date: Wed, 22 Mar 2006 00:07:40 -0800 Subject: [PATCH] --- yaml --- r: 22426 b: refs/heads/master c: 06f9d4f94a075285d25253edbf57f2cda07d4ff3 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/fork.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 19a90eda5d82..734bd3a7a859 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b40607fc02f8248828d52d88f91b7d68df1933b0 +refs/heads/master: 06f9d4f94a075285d25253edbf57f2cda07d4ff3 diff --git a/trunk/kernel/fork.c b/trunk/kernel/fork.c index b373322ca497..9bd7b65ee418 100644 --- a/trunk/kernel/fork.c +++ b/trunk/kernel/fork.c @@ -1534,6 +1534,12 @@ asmlinkage long sys_unshare(unsigned long 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))) goto bad_unshare_out; if ((err = unshare_fs(unshare_flags, &new_fs)))