diff options
Diffstat (limited to 'net/ipv4/udp.c')
-rw-r--r-- | net/ipv4/udp.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 5a65eeac1d29..ad481b32f1e3 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c | |||
@@ -1358,7 +1358,7 @@ static int __udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb) | |||
1358 | if (inet_sk(sk)->inet_daddr) | 1358 | if (inet_sk(sk)->inet_daddr) |
1359 | sock_rps_save_rxhash(sk, skb); | 1359 | sock_rps_save_rxhash(sk, skb); |
1360 | 1360 | ||
1361 | rc = ip_queue_rcv_skb(sk, skb); | 1361 | rc = sock_queue_rcv_skb(sk, skb); |
1362 | if (rc < 0) { | 1362 | if (rc < 0) { |
1363 | int is_udplite = IS_UDPLITE(sk); | 1363 | int is_udplite = IS_UDPLITE(sk); |
1364 | 1364 | ||
@@ -1474,6 +1474,7 @@ int udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb) | |||
1474 | 1474 | ||
1475 | rc = 0; | 1475 | rc = 0; |
1476 | 1476 | ||
1477 | ipv4_pktinfo_prepare(skb); | ||
1477 | bh_lock_sock(sk); | 1478 | bh_lock_sock(sk); |
1478 | if (!sock_owned_by_user(sk)) | 1479 | if (!sock_owned_by_user(sk)) |
1479 | rc = __udp_queue_rcv_skb(sk, skb); | 1480 | rc = __udp_queue_rcv_skb(sk, skb); |
@@ -2247,7 +2248,8 @@ int udp4_ufo_send_check(struct sk_buff *skb) | |||
2247 | return 0; | 2248 | return 0; |
2248 | } | 2249 | } |
2249 | 2250 | ||
2250 | struct sk_buff *udp4_ufo_fragment(struct sk_buff *skb, u32 features) | 2251 | struct sk_buff *udp4_ufo_fragment(struct sk_buff *skb, |
2252 | netdev_features_t features) | ||
2251 | { | 2253 | { |
2252 | struct sk_buff *segs = ERR_PTR(-EINVAL); | 2254 | struct sk_buff *segs = ERR_PTR(-EINVAL); |
2253 | unsigned int mss; | 2255 | unsigned int mss; |