--- udp.c.orig 2015-07-19 09:28:16.732477245 +0800 +++ udp.c 2015-07-19 09:29:46.952441957 +0800 @@ -894,7 +894,7 @@ struct sk_buff *skb; struct ip_options_data opt_copy; - if (len > 0xFFFF) + if (len > (0xFFFF - sizeof(struct udphdr) - sizeof(struct iphdr))) return -EMSGSIZE; /*