mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 21:21:41 +00:00
xattr: switch to CLASS(fd)
Reviewed-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
b8cdd2530c
commit
a71874379e
35
fs/xattr.c
35
fs/xattr.c
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user