Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 07dc3f07 authored by Benjamin LaHaise's avatar Benjamin LaHaise Committed by David S. Miller
Browse files

[NET]: Make use of ->private_data in sockfd_lookup



Please consider the patch below which makes use of file->private_data to
store the pointer to the socket, which avoids touching several unused
cachelines in the dentry and inode in sockfd_lookup.

Signed-off-by: default avatarBenjamin LaHaise <bcrl@linux.intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent cef07fd6
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -404,6 +404,7 @@ int sock_map_fd(struct socket *sock)
		file->f_mode = FMODE_READ | FMODE_WRITE;
		file->f_flags = O_RDWR;
		file->f_pos = 0;
		file->private_data = sock;
		fd_install(fd, file);
	}

@@ -436,6 +437,9 @@ struct socket *sockfd_lookup(int fd, int *err)
		return NULL;
	}

	if (file->f_op == &socket_file_ops)
		return file->private_data;	/* set in sock_map_fd */

	inode = file->f_dentry->d_inode;
	if (!S_ISSOCK(inode->i_mode)) {
		*err = -ENOTSOCK;