diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/Makefile | 4 | ||||
-rw-r--r-- | kernel/nsproxy.c | 10 | ||||
-rw-r--r-- | kernel/utsname_sysctl.c | 5 |
3 files changed, 3 insertions, 16 deletions
diff --git a/kernel/Makefile b/kernel/Makefile index 642d4277c2ea..fa8efd437afb 100644 --- a/kernel/Makefile +++ b/kernel/Makefile | |||
@@ -8,7 +8,8 @@ obj-y = sched.o fork.o exec_domain.o panic.o printk.o profile.o \ | |||
8 | signal.o sys.o kmod.o workqueue.o pid.o \ | 8 | signal.o sys.o kmod.o workqueue.o pid.o \ |
9 | rcupdate.o extable.o params.o posix-timers.o \ | 9 | rcupdate.o extable.o params.o posix-timers.o \ |
10 | kthread.o wait.o kfifo.o sys_ni.o posix-cpu-timers.o mutex.o \ | 10 | kthread.o wait.o kfifo.o sys_ni.o posix-cpu-timers.o mutex.o \ |
11 | hrtimer.o rwsem.o latency.o nsproxy.o srcu.o die_notifier.o | 11 | hrtimer.o rwsem.o latency.o nsproxy.o srcu.o die_notifier.o \ |
12 | utsname.o | ||
12 | 13 | ||
13 | obj-$(CONFIG_STACKTRACE) += stacktrace.o | 14 | obj-$(CONFIG_STACKTRACE) += stacktrace.o |
14 | obj-y += time/ | 15 | obj-y += time/ |
@@ -48,7 +49,6 @@ obj-$(CONFIG_SECCOMP) += seccomp.o | |||
48 | obj-$(CONFIG_RCU_TORTURE_TEST) += rcutorture.o | 49 | obj-$(CONFIG_RCU_TORTURE_TEST) += rcutorture.o |
49 | obj-$(CONFIG_RELAY) += relay.o | 50 | obj-$(CONFIG_RELAY) += relay.o |
50 | obj-$(CONFIG_SYSCTL) += utsname_sysctl.o | 51 | obj-$(CONFIG_SYSCTL) += utsname_sysctl.o |
51 | obj-$(CONFIG_UTS_NS) += utsname.o | ||
52 | obj-$(CONFIG_TASK_DELAY_ACCT) += delayacct.o | 52 | obj-$(CONFIG_TASK_DELAY_ACCT) += delayacct.o |
53 | obj-$(CONFIG_TASKSTATS) += taskstats.o tsacct.o | 53 | obj-$(CONFIG_TASKSTATS) += taskstats.o tsacct.o |
54 | 54 | ||
diff --git a/kernel/nsproxy.c b/kernel/nsproxy.c index 9e83b589f754..e38bed75367d 100644 --- a/kernel/nsproxy.c +++ b/kernel/nsproxy.c | |||
@@ -155,16 +155,6 @@ int unshare_nsproxy_namespaces(unsigned long unshare_flags, | |||
155 | if (!(unshare_flags & (CLONE_NEWNS | CLONE_NEWUTS | CLONE_NEWIPC))) | 155 | if (!(unshare_flags & (CLONE_NEWNS | CLONE_NEWUTS | CLONE_NEWIPC))) |
156 | return 0; | 156 | return 0; |
157 | 157 | ||
158 | #ifndef CONFIG_IPC_NS | ||
159 | if (unshare_flags & CLONE_NEWIPC) | ||
160 | return -EINVAL; | ||
161 | #endif | ||
162 | |||
163 | #ifndef CONFIG_UTS_NS | ||
164 | if (unshare_flags & CLONE_NEWUTS) | ||
165 | return -EINVAL; | ||
166 | #endif | ||
167 | |||
168 | if (!capable(CAP_SYS_ADMIN)) | 158 | if (!capable(CAP_SYS_ADMIN)) |
169 | return -EPERM; | 159 | return -EPERM; |
170 | 160 | ||
diff --git a/kernel/utsname_sysctl.c b/kernel/utsname_sysctl.c index f22b9dbd2a9c..c76c06466bfd 100644 --- a/kernel/utsname_sysctl.c +++ b/kernel/utsname_sysctl.c | |||
@@ -18,10 +18,7 @@ | |||
18 | static void *get_uts(ctl_table *table, int write) | 18 | static void *get_uts(ctl_table *table, int write) |
19 | { | 19 | { |
20 | char *which = table->data; | 20 | char *which = table->data; |
21 | #ifdef CONFIG_UTS_NS | 21 | |
22 | struct uts_namespace *uts_ns = current->nsproxy->uts_ns; | ||
23 | which = (which - (char *)&init_uts_ns) + (char *)uts_ns; | ||
24 | #endif | ||
25 | if (!write) | 22 | if (!write) |
26 | down_read(&uts_sem); | 23 | down_read(&uts_sem); |
27 | else | 24 | else |