Re: [PATCH 04/31] net: add support for ->poll_mask in proto_ops

From: Christoph Hellwig
Date: Tue Jan 09 2018 - 11:32:45 EST


On Sat, Jan 06, 2018 at 07:16:22PM +0000, Al Viro wrote:
> > + __poll_t (*poll_mask) (struct file *file, struct socket *sock,
> > + __poll_t events);
>
> Does that sucker need struct file?

It turns out udp needs it:

/* Check for false positives due to checksum errors */
if ((mask & POLLRDNORM) && !(file->f_flags & O_NONBLOCK) &&
!(sk->sk_shutdown & RCV_SHUTDOWN) && first_packet_length(sk) == -1)
mask &= ~(POLLIN | POLLRDNORM);