aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/udp.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/udp.c')
-rw-r--r--net/ipv4/udp.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
index d8f527d15701..6b0acb438f34 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -1059,7 +1059,7 @@ drop:
1059 * Note: called only from the BH handler context, 1059 * Note: called only from the BH handler context,
1060 * so we don't need to lock the hashes. 1060 * so we don't need to lock the hashes.
1061 */ 1061 */
1062static int __udp4_lib_mcast_deliver(struct sk_buff *skb, 1062static int __udp4_lib_mcast_deliver(struct net *net, struct sk_buff *skb,
1063 struct udphdr *uh, 1063 struct udphdr *uh,
1064 __be32 saddr, __be32 daddr, 1064 __be32 saddr, __be32 daddr,
1065 struct hlist_head udptable[]) 1065 struct hlist_head udptable[])
@@ -1156,6 +1156,7 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct hlist_head udptable[],
1156 struct rtable *rt = (struct rtable*)skb->dst; 1156 struct rtable *rt = (struct rtable*)skb->dst;
1157 __be32 saddr = ip_hdr(skb)->saddr; 1157 __be32 saddr = ip_hdr(skb)->saddr;
1158 __be32 daddr = ip_hdr(skb)->daddr; 1158 __be32 daddr = ip_hdr(skb)->daddr;
1159 struct net *net;
1159 1160
1160 /* 1161 /*
1161 * Validate the packet. 1162 * Validate the packet.
@@ -1177,10 +1178,12 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct hlist_head udptable[],
1177 if (udp4_csum_init(skb, uh, proto)) 1178 if (udp4_csum_init(skb, uh, proto))
1178 goto csum_error; 1179 goto csum_error;
1179 1180
1181 net = dev_net(skb->dev);
1180 if (rt->rt_flags & (RTCF_BROADCAST|RTCF_MULTICAST)) 1182 if (rt->rt_flags & (RTCF_BROADCAST|RTCF_MULTICAST))
1181 return __udp4_lib_mcast_deliver(skb, uh, saddr, daddr, udptable); 1183 return __udp4_lib_mcast_deliver(net, skb, uh,
1184 saddr, daddr, udptable);
1182 1185
1183 sk = __udp4_lib_lookup(dev_net(skb->dev), saddr, uh->source, daddr, 1186 sk = __udp4_lib_lookup(net, saddr, uh->source, daddr,
1184 uh->dest, inet_iif(skb), udptable); 1187 uh->dest, inet_iif(skb), udptable);
1185 1188
1186 if (sk != NULL) { 1189 if (sk != NULL) {