diff options
Diffstat (limited to 'net/core/skbuff.c')
-rw-r--r-- | net/core/skbuff.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index b2595adb605f..a396a6926238 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c | |||
@@ -66,7 +66,6 @@ | |||
66 | #include <net/xfrm.h> | 66 | #include <net/xfrm.h> |
67 | 67 | ||
68 | #include <asm/uaccess.h> | 68 | #include <asm/uaccess.h> |
69 | #include <asm/system.h> | ||
70 | #include <trace/events/skb.h> | 69 | #include <trace/events/skb.h> |
71 | #include <linux/highmem.h> | 70 | #include <linux/highmem.h> |
72 | 71 | ||
@@ -3162,6 +3161,8 @@ static void sock_rmem_free(struct sk_buff *skb) | |||
3162 | */ | 3161 | */ |
3163 | int sock_queue_err_skb(struct sock *sk, struct sk_buff *skb) | 3162 | int sock_queue_err_skb(struct sock *sk, struct sk_buff *skb) |
3164 | { | 3163 | { |
3164 | int len = skb->len; | ||
3165 | |||
3165 | if (atomic_read(&sk->sk_rmem_alloc) + skb->truesize >= | 3166 | if (atomic_read(&sk->sk_rmem_alloc) + skb->truesize >= |
3166 | (unsigned)sk->sk_rcvbuf) | 3167 | (unsigned)sk->sk_rcvbuf) |
3167 | return -ENOMEM; | 3168 | return -ENOMEM; |
@@ -3176,7 +3177,7 @@ int sock_queue_err_skb(struct sock *sk, struct sk_buff *skb) | |||
3176 | 3177 | ||
3177 | skb_queue_tail(&sk->sk_error_queue, skb); | 3178 | skb_queue_tail(&sk->sk_error_queue, skb); |
3178 | if (!sock_flag(sk, SOCK_DEAD)) | 3179 | if (!sock_flag(sk, SOCK_DEAD)) |
3179 | sk->sk_data_ready(sk, skb->len); | 3180 | sk->sk_data_ready(sk, len); |
3180 | return 0; | 3181 | return 0; |
3181 | } | 3182 | } |
3182 | EXPORT_SYMBOL(sock_queue_err_skb); | 3183 | EXPORT_SYMBOL(sock_queue_err_skb); |