X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fsparc64%2Fsolaris%2Ffs.c;fp=arch%2Fsparc64%2Fsolaris%2Ffs.c;h=612477de6cc408496cb5e95af393ed01ff7d12a0;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=8cfb20ef26ab29e5a8ac2cc7659ba068b0fd45ec;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/arch/sparc64/solaris/fs.c b/arch/sparc64/solaris/fs.c index 8cfb20ef2..612477de6 100644 --- a/arch/sparc64/solaris/fs.c +++ b/arch/sparc64/solaris/fs.c @@ -82,17 +82,12 @@ struct sol_stat64 { static inline int putstat(struct sol_stat __user *ubuf, struct kstat *kbuf) { - u32 ino; - if (kbuf->size > MAX_NON_LFS || !sysv_valid_dev(kbuf->dev) || !sysv_valid_dev(kbuf->rdev)) return -EOVERFLOW; - ino = kbuf->ino; - if (sizeof(ino) < sizeof(kbuf->ino) && ino != kbuf->ino) - return -EOVERFLOW; if (put_user (sysv_encode_dev(kbuf->dev), &ubuf->st_dev) || - __put_user (ino, &ubuf->st_ino) || + __put_user (kbuf->ino, &ubuf->st_ino) || __put_user (kbuf->mode, &ubuf->st_mode) || __put_user (kbuf->nlink, &ubuf->st_nlink) || __put_user (kbuf->uid, &ubuf->st_uid) || @@ -361,7 +356,7 @@ static int report_statvfs(struct vfsmount *mnt, struct inode *inode, u32 buf) int error; struct sol_statvfs __user *ss = A(buf); - error = vfs_statfs(mnt->mnt_root, &s); + error = vfs_statfs(mnt->mnt_sb, &s); if (!error) { const char *p = mnt->mnt_sb->s_type->name; int i = 0; @@ -397,7 +392,7 @@ static int report_statvfs64(struct vfsmount *mnt, struct inode *inode, u32 buf) int error; struct sol_statvfs64 __user *ss = A(buf); - error = vfs_statfs(mnt->mnt_root, &s); + error = vfs_statfs(mnt->mnt_sb, &s); if (!error) { const char *p = mnt->mnt_sb->s_type->name; int i = 0;