mirror of
https://github.com/torvalds/linux.git
synced 2025-12-01 07:26:02 +07:00
Merge tag 'pull-stable-struct_fd' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull 'struct fd' updates from Al Viro: "Just the 'struct fd' layout change, with conversion to accessor helpers" * tag 'pull-stable-struct_fd' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: add struct fd constructors, get rid of __to_fd() struct fd: representation change introduce fd_file(), convert all accessors to it.
This commit is contained in:
14
net/socket.c
14
net/socket.c
@@ -556,10 +556,10 @@ static struct socket *sockfd_lookup_light(int fd, int *err, int *fput_needed)
|
||||
struct socket *sock;
|
||||
|
||||
*err = -EBADF;
|
||||
if (f.file) {
|
||||
sock = sock_from_file(f.file);
|
||||
if (fd_file(f)) {
|
||||
sock = sock_from_file(fd_file(f));
|
||||
if (likely(sock)) {
|
||||
*fput_needed = f.flags & FDPUT_FPUT;
|
||||
*fput_needed = f.word & FDPUT_FPUT;
|
||||
return sock;
|
||||
}
|
||||
*err = -ENOTSOCK;
|
||||
@@ -2014,8 +2014,8 @@ int __sys_accept4(int fd, struct sockaddr __user *upeer_sockaddr,
|
||||
struct fd f;
|
||||
|
||||
f = fdget(fd);
|
||||
if (f.file) {
|
||||
ret = __sys_accept4_file(f.file, upeer_sockaddr,
|
||||
if (fd_file(f)) {
|
||||
ret = __sys_accept4_file(fd_file(f), upeer_sockaddr,
|
||||
upeer_addrlen, flags);
|
||||
fdput(f);
|
||||
}
|
||||
@@ -2076,12 +2076,12 @@ int __sys_connect(int fd, struct sockaddr __user *uservaddr, int addrlen)
|
||||
struct fd f;
|
||||
|
||||
f = fdget(fd);
|
||||
if (f.file) {
|
||||
if (fd_file(f)) {
|
||||
struct sockaddr_storage address;
|
||||
|
||||
ret = move_addr_to_kernel(uservaddr, addrlen, &address);
|
||||
if (!ret)
|
||||
ret = __sys_connect_file(f.file, &address, addrlen, 0);
|
||||
ret = __sys_connect_file(fd_file(f), &address, addrlen, 0);
|
||||
fdput(f);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user