Example #1
0
asmlinkage long sys_oabi_lstat64(const char __user * filename,
                                 struct oldabi_stat64 __user * statbuf)
{
    struct kstat stat;
    int error = vfs_lstat(filename, &stat);
    if (!error)
        error = cp_oldabi_stat64(&stat, statbuf);
    return error;
}
Example #2
0
asmlinkage long sys_oabi_fstat64(unsigned long fd,
                                 struct oldabi_stat64 __user * statbuf)
{
    struct kstat stat;
    int error = vfs_fstat(fd, &stat);
    if (!error)
        error = cp_oldabi_stat64(&stat, statbuf);
    return error;
}
Example #3
0
asmlinkage long sys_oabi_fstatat64(int dfd,
                                   const char __user *filename,
                                   struct oldabi_stat64  __user *statbuf,
                                   int flag)
{
    struct kstat stat;
    int error;

    error = vfs_fstatat(dfd, filename, &stat, flag);
    if (error)
        return error;
    return cp_oldabi_stat64(&stat, statbuf);
}
Example #4
0
asmlinkage long sys_oabi_fstatat64(int dfd,
				   char __user *filename,
				   struct oldabi_stat64  __user *statbuf,
				   int flag)
{
	struct kstat stat;
	int error = -EINVAL;

	if ((flag & ~AT_SYMLINK_NOFOLLOW) != 0)
		goto out;

	if (flag & AT_SYMLINK_NOFOLLOW)
		error = vfs_lstat_fd(dfd, filename, &stat);
	else
		error = vfs_stat_fd(dfd, filename, &stat);

	if (!error)
	error = cp_oldabi_stat64(&stat, statbuf);

out:
	return error;
}