summaryrefslogtreecommitdiff
path: root/net/core
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@google.com>2021-08-08 08:48:03 +0200
committerGreg Kroah-Hartman <gregkh@google.com>2021-08-08 08:48:03 +0200
commitcfdd4f44ffc1eab4461c268e9d29a35e01895d0f (patch)
tree0abe7707b8f759347f35ac4ceccac1721a5040e8 /net/core
parent449846c3e01f672fdb33412056058564d2cfaf21 (diff)
parentaff9d4e6115abc1732aef71bea36cf3beb9b2c53 (diff)
Merge 4.4.279 into android-4.4-p
Changes in 4.4.279 btrfs: mark compressed range uptodate only if all bio succeed regulator: rt5033: Fix n_voltages settings for BUCK and LDO r8152: Fix potential PM refcount imbalance net: Fix zero-copy head len calculation. Revert "Bluetooth: Shutdown controller after workqueues are flushed or cancelled" can: raw: raw_setsockopt(): fix raw_rcv panic for sock UAF Linux 4.4.279 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Ie3e6cadbc9c8291c2be61e0a3427225458891c18
Diffstat (limited to 'net/core')
-rw-r--r--net/core/skbuff.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 7665154c85c2..58989a5ba362 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -2243,8 +2243,11 @@ skb_zerocopy_headlen(const struct sk_buff *from)
if (!from->head_frag ||
skb_headlen(from) < L1_CACHE_BYTES ||
- skb_shinfo(from)->nr_frags >= MAX_SKB_FRAGS)
+ skb_shinfo(from)->nr_frags >= MAX_SKB_FRAGS) {
hlen = skb_headlen(from);
+ if (!hlen)
+ hlen = from->len;
+ }
if (skb_has_frag_list(from))
hlen = from->len;