sethostname/setdomainname: notify userspace when there is a change in uts_kern_table

sethostname() and setdomainname() notify userspace on failure (without
modifying uts_kern_table).  Change things so that we only notify userspace
on success, when uts_kern_table was actually modified.

Signed-off-by: Sasikantha babu <sasikanth.v19@gmail.com>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: WANG Cong <amwang@redhat.com>
Reviewed-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Sasikantha babu 2012-05-31 16:26:07 -07:00 committed by Linus Torvalds
parent 5401cf3fac
commit 499eea6bf9

View file

@ -1378,8 +1378,8 @@ SYSCALL_DEFINE2(sethostname, char __user *, name, int, len)
memcpy(u->nodename, tmp, len); memcpy(u->nodename, tmp, len);
memset(u->nodename + len, 0, sizeof(u->nodename) - len); memset(u->nodename + len, 0, sizeof(u->nodename) - len);
errno = 0; errno = 0;
}
uts_proc_notify(UTS_PROC_HOSTNAME); uts_proc_notify(UTS_PROC_HOSTNAME);
}
up_write(&uts_sem); up_write(&uts_sem);
return errno; return errno;
} }
@ -1429,8 +1429,8 @@ SYSCALL_DEFINE2(setdomainname, char __user *, name, int, len)
memcpy(u->domainname, tmp, len); memcpy(u->domainname, tmp, len);
memset(u->domainname + len, 0, sizeof(u->domainname) - len); memset(u->domainname + len, 0, sizeof(u->domainname) - len);
errno = 0; errno = 0;
}
uts_proc_notify(UTS_PROC_DOMAINNAME); uts_proc_notify(UTS_PROC_DOMAINNAME);
}
up_write(&uts_sem); up_write(&uts_sem);
return errno; return errno;
} }