git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh64-2.6
[pandora-kernel.git]
/
arch
/
mips
/
kernel
/
linux32.c
diff --git
a/arch/mips/kernel/linux32.c
b/arch/mips/kernel/linux32.c
index
43b1162
..
53f4171
100644
(file)
--- a/
arch/mips/kernel/linux32.c
+++ b/
arch/mips/kernel/linux32.c
@@
-77,6
+77,8
@@
int cp_compat_stat(struct kstat *stat, struct compat_stat __user *statbuf)
memset(&tmp, 0, sizeof(tmp));
tmp.st_dev = new_encode_dev(stat->dev);
tmp.st_ino = stat->ino;
memset(&tmp, 0, sizeof(tmp));
tmp.st_dev = new_encode_dev(stat->dev);
tmp.st_ino = stat->ino;
+ if (sizeof(tmp.st_ino) < sizeof(stat->ino) && tmp.st_ino != stat->ino)
+ return -EOVERFLOW;
tmp.st_mode = stat->mode;
tmp.st_nlink = stat->nlink;
SET_UID(tmp.st_uid, stat->uid);
tmp.st_mode = stat->mode;
tmp.st_nlink = stat->nlink;
SET_UID(tmp.st_uid, stat->uid);
@@
-1039,7
+1041,7
@@
asmlinkage long sys32_newuname(struct new_utsname __user * name)
int ret = 0;
down_read(&uts_sem);
int ret = 0;
down_read(&uts_sem);
- if (copy_to_user(name,
&system_utsname,
sizeof *name))
+ if (copy_to_user(name,
utsname(),
sizeof *name))
ret = -EFAULT;
up_read(&uts_sem);
ret = -EFAULT;
up_read(&uts_sem);