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
Merge to Fedora kernel-2.6.18-1.2224_FC5 patched with stable patch-2.6.18.1-vs2.0...
[linux-2.6.git]
/
arch
/
sparc64
/
kernel
/
sys_sparc.c
diff --git
a/arch/sparc64/kernel/sys_sparc.c
b/arch/sparc64/kernel/sys_sparc.c
index
ef41925
..
1abfb9c
100644
(file)
--- a/
arch/sparc64/kernel/sys_sparc.c
+++ b/
arch/sparc64/kernel/sys_sparc.c
@@
-6,7
+6,6
@@
* platform.
*/
* platform.
*/
-#include <linux/config.h>
#include <linux/errno.h>
#include <linux/types.h>
#include <linux/sched.h>
#include <linux/errno.h>
#include <linux/types.h>
#include <linux/sched.h>
@@
-707,21
+706,23
@@
extern void check_pending(int signum);
asmlinkage long sys_getdomainname(char __user *name, int len)
{
asmlinkage long sys_getdomainname(char __user *name, int len)
{
- int nlen;
- int err = -EFAULT;
+ int nlen, err;
+
+ 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;
- 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:
+ err = -EFAULT;
+ if (!copy_to_user(name, vx_new_uts(domainname), nlen))
+ err = 0;
+
+out:
up_read(&uts_sem);
return err;
}
up_read(&uts_sem);
return err;
}