summaryrefslogtreecommitdiff
path: root/net/ipv6/raw.c
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2017-01-17 12:44:14 -0800
committerDmitry Shmidt <dimitrysh@google.com>2017-01-17 12:44:14 -0800
commitf103e3b0d8e462a747c53fc5a7ac3981ef1e8f3f (patch)
tree2fcb1d356e096ae0b0c047abebfaa0424223595e /net/ipv6/raw.c
parent82a6fedb6ea53c9f3eb00ab1e0b839d3fcfe5fc2 (diff)
parentd9ea51a9bea4ed29f8fd9c59a8122c7aabcc5562 (diff)
Merge tag 'v4.4.43' into android-4.4.y
This is the 4.4.43 stable release
Diffstat (limited to 'net/ipv6/raw.c')
-rw-r--r--net/ipv6/raw.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
index 58eb8ee19f34..d503b7f373a3 100644
--- a/net/ipv6/raw.c
+++ b/net/ipv6/raw.c
@@ -589,7 +589,11 @@ static int rawv6_push_pending_frames(struct sock *sk, struct flowi6 *fl6,
}
offset += skb_transport_offset(skb);
- BUG_ON(skb_copy_bits(skb, offset, &csum, 2));
+ err = skb_copy_bits(skb, offset, &csum, 2);
+ if (err < 0) {
+ ip6_flush_pending_frames(sk);
+ goto out;
+ }
/* in case cksum was not initialized */
if (unlikely(csum))