net: Implement ->sock_is_readable() for UDP and AF_UNIX
[sfrench/cifs-2.6.git] / net / ipv4 / udp.c
index 8536b2a7210b2ee88443d7bdfe21d22fd1433997..2fffcf2b54f3f304c6643d04d2c066d4ea6f5de4 100644 (file)
@@ -2867,6 +2867,9 @@ __poll_t udp_poll(struct file *file, struct socket *sock, poll_table *wait)
            !(sk->sk_shutdown & RCV_SHUTDOWN) && first_packet_length(sk) == -1)
                mask &= ~(EPOLLIN | EPOLLRDNORM);
 
+       /* psock ingress_msg queue should not contain any bad checksum frames */
+       if (sk_is_readable(sk))
+               mask |= EPOLLIN | EPOLLRDNORM;
        return mask;
 
 }