Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 114723
b: refs/heads/master
c: 9679e4d
h: refs/heads/master
i:
  114721: 9d72b42
  114719: 136de62
v: v3
  • Loading branch information
Andrew Morton authored and Linus Torvalds committed Oct 16, 2008
1 parent bfe5a07 commit 87e0007
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 87988815073918134c0dae059cf247a4472d78ed
refs/heads/master: 9679e4dd628743b9ef4375d60ae69923c3766173
20 changes: 12 additions & 8 deletions trunk/kernel/sys.c
Original file line number Diff line number Diff line change
Expand Up @@ -1349,9 +1349,10 @@ asmlinkage long sys_sethostname(char __user *name, int len)
down_write(&uts_sem);
errno = -EFAULT;
if (!copy_from_user(tmp, name, len)) {
memcpy(utsname()->nodename, tmp, len);
memset(utsname()->nodename + len, 0,
sizeof(utsname()->nodename) - len);
struct new_utsname *u = utsname();

memcpy(u->nodename, tmp, len);
memset(u->nodename + len, 0, sizeof(u->nodename) - len);
errno = 0;
}
up_write(&uts_sem);
Expand All @@ -1363,15 +1364,17 @@ asmlinkage long sys_sethostname(char __user *name, int len)
asmlinkage long sys_gethostname(char __user *name, int len)
{
int i, errno;
struct new_utsname *u;

if (len < 0)
return -EINVAL;
down_read(&uts_sem);
i = 1 + strlen(utsname()->nodename);
u = utsname();
i = 1 + strlen(u->nodename);
if (i > len)
i = len;
errno = 0;
if (copy_to_user(name, utsname()->nodename, i))
if (copy_to_user(name, u->nodename, i))
errno = -EFAULT;
up_read(&uts_sem);
return errno;
Expand All @@ -1396,9 +1399,10 @@ asmlinkage long sys_setdomainname(char __user *name, int len)
down_write(&uts_sem);
errno = -EFAULT;
if (!copy_from_user(tmp, name, len)) {
memcpy(utsname()->domainname, tmp, len);
memset(utsname()->domainname + len, 0,
sizeof(utsname()->domainname) - len);
struct new_utsname *u = utsname();

memcpy(u->domainname, tmp, len);
memset(u->domainname + len, 0, sizeof(u->domainname) - len);
errno = 0;
}
up_write(&uts_sem);
Expand Down

0 comments on commit 87e0007

Please sign in to comment.