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);
