X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=net%2Fsocket.c;h=51bf34995bcb0c0a350d25a687807e70e29e05c1;hb=ac80010fc94eb0680d9a432b639583bd7ac29066;hp=50623218747f067c0ecf33a51d8d6b61e39ce139;hpb=c60174717544aa8959683d7e19d568309c3a0c65;p=linux-2.6-microblaze.git diff --git a/net/socket.c b/net/socket.c index 50623218747f..51bf34995bcb 100644 --- a/net/socket.c +++ b/net/socket.c @@ -128,6 +128,7 @@ static ssize_t sock_sendpage(struct file *file, struct page *page, static ssize_t sock_splice_read(struct file *file, loff_t *ppos, struct pipe_inode_info *pipe, size_t len, unsigned int flags); +static void sock_show_fdinfo(struct seq_file *m, struct file *f); /* * Socket files have a set of 'special' operations as well as the generic file ones. These don't appear @@ -150,6 +151,9 @@ static const struct file_operations socket_file_ops = { .sendpage = sock_sendpage, .splice_write = generic_splice_sendpage, .splice_read = sock_splice_read, +#ifdef CONFIG_PROC_FS + .show_fdinfo = sock_show_fdinfo, +#endif }; /* @@ -993,6 +997,14 @@ static ssize_t sock_write_iter(struct kiocb *iocb, struct iov_iter *from) return res; } +static void sock_show_fdinfo(struct seq_file *m, struct file *f) +{ + struct socket *sock = f->private_data; + + if (sock->ops->show_fdinfo) + sock->ops->show_fdinfo(m, sock); +} + /* * Atomic setting of ioctl hooks to avoid race * with module unload.