Commit a7187437 authored by Al Viro's avatar Al Viro
Browse files

xattr: switch to CLASS(fd)

parent b8cdd253
Loading
Loading
Loading
Loading
+14 −21
Original line number Diff line number Diff line
@@ -697,9 +697,9 @@ SYSCALL_DEFINE5(fsetxattr, int, fd, const char __user *, name,
	int error;

	CLASS(fd, f)(fd);
	if (!fd_file(f))
		return -EBADF;

	if (fd_empty(f))
		return -EBADF;
	audit_file(fd_file(f));
	error = setxattr_copy(name, &ctx);
	if (error)
@@ -809,16 +809,13 @@ SYSCALL_DEFINE4(lgetxattr, const char __user *, pathname,
SYSCALL_DEFINE4(fgetxattr, int, fd, const char __user *, name,
		void __user *, value, size_t, size)
{
	struct fd f = fdget(fd);
	ssize_t error = -EBADF;
	CLASS(fd, f)(fd);

	if (!fd_file(f))
		return error;
	if (fd_empty(f))
		return -EBADF;
	audit_file(fd_file(f));
	error = getxattr(file_mnt_idmap(fd_file(f)), fd_file(f)->f_path.dentry,
	return getxattr(file_mnt_idmap(fd_file(f)), fd_file(f)->f_path.dentry,
			 name, value, size);
	fdput(f);
	return error;
}

/*
@@ -885,15 +882,12 @@ SYSCALL_DEFINE3(llistxattr, const char __user *, pathname, char __user *, list,

SYSCALL_DEFINE3(flistxattr, int, fd, char __user *, list, size_t, size)
{
	struct fd f = fdget(fd);
	ssize_t error = -EBADF;
	CLASS(fd, f)(fd);

	if (!fd_file(f))
		return error;
	if (fd_empty(f))
		return -EBADF;
	audit_file(fd_file(f));
	error = listxattr(fd_file(f)->f_path.dentry, list, size);
	fdput(f);
	return error;
	return listxattr(fd_file(f)->f_path.dentry, list, size);
}

/*
@@ -950,12 +944,12 @@ SYSCALL_DEFINE2(lremovexattr, const char __user *, pathname,

SYSCALL_DEFINE2(fremovexattr, int, fd, const char __user *, name)
{
	struct fd f = fdget(fd);
	CLASS(fd, f)(fd);
	char kname[XATTR_NAME_MAX + 1];
	int error = -EBADF;
	int error;

	if (!fd_file(f))
		return error;
	if (fd_empty(f))
		return -EBADF;
	audit_file(fd_file(f));

	error = strncpy_from_user(kname, name, sizeof(kname));
@@ -970,7 +964,6 @@ SYSCALL_DEFINE2(fremovexattr, int, fd, const char __user *, name)
				    fd_file(f)->f_path.dentry, kname);
		mnt_drop_write_file(fd_file(f));
	}
	fdput(f);
	return error;
}