diff options
Diffstat (limited to 'kernel/sys.c')
-rw-r--r-- | kernel/sys.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/sys.c b/kernel/sys.c index 18ee1d2f6474..481611fbd079 100644 --- a/kernel/sys.c +++ b/kernel/sys.c | |||
@@ -4,7 +4,7 @@ | |||
4 | * Copyright (C) 1991, 1992 Linus Torvalds | 4 | * Copyright (C) 1991, 1992 Linus Torvalds |
5 | */ | 5 | */ |
6 | 6 | ||
7 | #include <linux/module.h> | 7 | #include <linux/export.h> |
8 | #include <linux/mm.h> | 8 | #include <linux/mm.h> |
9 | #include <linux/utsname.h> | 9 | #include <linux/utsname.h> |
10 | #include <linux/mman.h> | 10 | #include <linux/mman.h> |
@@ -12,6 +12,7 @@ | |||
12 | #include <linux/prctl.h> | 12 | #include <linux/prctl.h> |
13 | #include <linux/highuid.h> | 13 | #include <linux/highuid.h> |
14 | #include <linux/fs.h> | 14 | #include <linux/fs.h> |
15 | #include <linux/kmod.h> | ||
15 | #include <linux/perf_event.h> | 16 | #include <linux/perf_event.h> |
16 | #include <linux/resource.h> | 17 | #include <linux/resource.h> |
17 | #include <linux/kernel.h> | 18 | #include <linux/kernel.h> |
@@ -1172,7 +1173,7 @@ DECLARE_RWSEM(uts_sem); | |||
1172 | static int override_release(char __user *release, int len) | 1173 | static int override_release(char __user *release, int len) |
1173 | { | 1174 | { |
1174 | int ret = 0; | 1175 | int ret = 0; |
1175 | char buf[len]; | 1176 | char buf[65]; |
1176 | 1177 | ||
1177 | if (current->personality & UNAME26) { | 1178 | if (current->personality & UNAME26) { |
1178 | char *rest = UTS_RELEASE; | 1179 | char *rest = UTS_RELEASE; |
@@ -1286,6 +1287,7 @@ SYSCALL_DEFINE2(sethostname, char __user *, name, int, len) | |||
1286 | memset(u->nodename + len, 0, sizeof(u->nodename) - len); | 1287 | memset(u->nodename + len, 0, sizeof(u->nodename) - len); |
1287 | errno = 0; | 1288 | errno = 0; |
1288 | } | 1289 | } |
1290 | uts_proc_notify(UTS_PROC_HOSTNAME); | ||
1289 | up_write(&uts_sem); | 1291 | up_write(&uts_sem); |
1290 | return errno; | 1292 | return errno; |
1291 | } | 1293 | } |
@@ -1336,6 +1338,7 @@ SYSCALL_DEFINE2(setdomainname, char __user *, name, int, len) | |||
1336 | memset(u->domainname + len, 0, sizeof(u->domainname) - len); | 1338 | memset(u->domainname + len, 0, sizeof(u->domainname) - len); |
1337 | errno = 0; | 1339 | errno = 0; |
1338 | } | 1340 | } |
1341 | uts_proc_notify(UTS_PROC_DOMAINNAME); | ||
1339 | up_write(&uts_sem); | 1342 | up_write(&uts_sem); |
1340 | return errno; | 1343 | return errno; |
1341 | } | 1344 | } |
@@ -1759,6 +1762,7 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3, | |||
1759 | sizeof(me->comm) - 1) < 0) | 1762 | sizeof(me->comm) - 1) < 0) |
1760 | return -EFAULT; | 1763 | return -EFAULT; |
1761 | set_task_comm(me, comm); | 1764 | set_task_comm(me, comm); |
1765 | proc_comm_connector(me); | ||
1762 | return 0; | 1766 | return 0; |
1763 | case PR_GET_NAME: | 1767 | case PR_GET_NAME: |
1764 | get_task_comm(comm, me); | 1768 | get_task_comm(comm, me); |