diff options
Diffstat (limited to 'net/ipv4/udp.c')
| -rw-r--r-- | net/ipv4/udp.c | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 8536b2a7210b..319dd7bbfe33 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -78,7 +78,6 @@  #include <asm/ioctls.h>  #include <linux/memblock.h>  #include <linux/highmem.h> -#include <linux/swap.h>  #include <linux/types.h>  #include <linux/fcntl.h>  #include <linux/module.h> @@ -2867,6 +2866,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;  } |