git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git]
/
arch
/
sparc
/
kernel
/
sys_sparc.c
diff --git
a/arch/sparc/kernel/sys_sparc.c
b/arch/sparc/kernel/sys_sparc.c
index
8318dc6
..
5a220d6
100644
(file)
--- a/
arch/sparc/kernel/sys_sparc.c
+++ b/
arch/sparc/kernel/sys_sparc.c
@@
-469,23
+469,21
@@
sys_rt_sigaction(int sig,
asmlinkage int sys_getdomainname(char __user *name, int len)
{
asmlinkage int sys_getdomainname(char __user *name, int len)
{
- int nlen, err;
+ int nlen;
+ int err = -EFAULT;
- if (len < 0)
- return -EINVAL;
-
down_read(&uts_sem);
nlen = strlen(vx_new_uts(domainname)) + 1;
down_read(&uts_sem);
nlen = strlen(vx_new_uts(domainname)) + 1;
- err = -EINVAL;
- if (nlen > len)
- goto out;
- err = -EFAULT;
- if (!copy_to_user(name, vx_new_uts(domainname), nlen))
- err = 0;
-
-out:
+ if (nlen < len)
+ len = nlen;
+ if (len > __NEW_UTS_LEN)
+ goto done;
+ if (copy_to_user(name, vx_new_uts(domainname), len))
+ goto done;
+ err = 0;
+done:
up_read(&uts_sem);
return err;
}
up_read(&uts_sem);
return err;
}