diff --git a/include/linux/igmp.h b/include/linux/igmp.h
index cc85f4524dbfab28d03723c2fcb65c23730dee54..9c94b2ea789ceb9a06d9da0d8b07d28801732930 100644
--- a/include/linux/igmp.h
+++ b/include/linux/igmp.h
@@ -110,7 +110,7 @@ struct ip_mc_list {
 static inline int ip_mc_may_pull(struct sk_buff *skb, unsigned int len)
 {
 	if (skb_transport_offset(skb) + ip_transport_len(skb) < len)
-		return -EINVAL;
+		return 0;
 
 	return pskb_may_pull(skb, len);
 }