|
@@ -237,53 +237,6 @@ int sys32_settimeofday(struct compat_timeval __user *tv, struct timezone __user
|
|
return do_sys_settimeofday(tv ? &kts : NULL, tz ? &ktz : NULL);
|
|
return do_sys_settimeofday(tv ? &kts : NULL, tz ? &ktz : NULL);
|
|
}
|
|
}
|
|
|
|
|
|
-int cp_compat_stat(struct kstat *stat, struct compat_stat __user *statbuf)
|
|
|
|
-{
|
|
|
|
- compat_ino_t ino;
|
|
|
|
- int err;
|
|
|
|
-
|
|
|
|
- if (stat->size > MAX_NON_LFS || !new_valid_dev(stat->dev) ||
|
|
|
|
- !new_valid_dev(stat->rdev))
|
|
|
|
- return -EOVERFLOW;
|
|
|
|
-
|
|
|
|
- ino = stat->ino;
|
|
|
|
- if (sizeof(ino) < sizeof(stat->ino) && ino != stat->ino)
|
|
|
|
- return -EOVERFLOW;
|
|
|
|
-
|
|
|
|
- err = put_user(new_encode_dev(stat->dev), &statbuf->st_dev);
|
|
|
|
- err |= put_user(ino, &statbuf->st_ino);
|
|
|
|
- err |= put_user(stat->mode, &statbuf->st_mode);
|
|
|
|
- err |= put_user(stat->nlink, &statbuf->st_nlink);
|
|
|
|
- err |= put_user(0, &statbuf->st_reserved1);
|
|
|
|
- err |= put_user(0, &statbuf->st_reserved2);
|
|
|
|
- err |= put_user(new_encode_dev(stat->rdev), &statbuf->st_rdev);
|
|
|
|
- err |= put_user(stat->size, &statbuf->st_size);
|
|
|
|
- err |= put_user(stat->atime.tv_sec, &statbuf->st_atime);
|
|
|
|
- err |= put_user(stat->atime.tv_nsec, &statbuf->st_atime_nsec);
|
|
|
|
- err |= put_user(stat->mtime.tv_sec, &statbuf->st_mtime);
|
|
|
|
- err |= put_user(stat->mtime.tv_nsec, &statbuf->st_mtime_nsec);
|
|
|
|
- err |= put_user(stat->ctime.tv_sec, &statbuf->st_ctime);
|
|
|
|
- err |= put_user(stat->ctime.tv_nsec, &statbuf->st_ctime_nsec);
|
|
|
|
- err |= put_user(stat->blksize, &statbuf->st_blksize);
|
|
|
|
- err |= put_user(stat->blocks, &statbuf->st_blocks);
|
|
|
|
- err |= put_user(0, &statbuf->__unused1);
|
|
|
|
- err |= put_user(0, &statbuf->__unused2);
|
|
|
|
- err |= put_user(0, &statbuf->__unused3);
|
|
|
|
- err |= put_user(0, &statbuf->__unused4);
|
|
|
|
- err |= put_user(0, &statbuf->__unused5);
|
|
|
|
- err |= put_user(0, &statbuf->st_fstype); /* not avail */
|
|
|
|
- err |= put_user(0, &statbuf->st_realdev); /* not avail */
|
|
|
|
- err |= put_user(0, &statbuf->st_basemode); /* not avail */
|
|
|
|
- err |= put_user(0, &statbuf->st_spareshort);
|
|
|
|
- err |= put_user(stat->uid, &statbuf->st_uid);
|
|
|
|
- err |= put_user(stat->gid, &statbuf->st_gid);
|
|
|
|
- err |= put_user(0, &statbuf->st_spare4[0]);
|
|
|
|
- err |= put_user(0, &statbuf->st_spare4[1]);
|
|
|
|
- err |= put_user(0, &statbuf->st_spare4[2]);
|
|
|
|
-
|
|
|
|
- return err;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
/*** copied from mips64 ***/
|
|
/*** copied from mips64 ***/
|
|
/*
|
|
/*
|
|
* Ooo, nasty. We need here to frob 32-bit unsigned longs to
|
|
* Ooo, nasty. We need here to frob 32-bit unsigned longs to
|