Patch "ipv6: Fix leak in ipv6_gso_segment()." has been added to the 4.11-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    ipv6: Fix leak in ipv6_gso_segment().

to the 4.11-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     ipv6-fix-leak-in-ipv6_gso_segment.patch
and it can be found in the queue-4.11 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.


>From foo@baz Thu Jun  8 08:58:08 CEST 2017
From: "David S. Miller" <davem@xxxxxxxxxxxxx>
Date: Sun, 4 Jun 2017 21:41:10 -0400
Subject: ipv6: Fix leak in ipv6_gso_segment().

From: "David S. Miller" <davem@xxxxxxxxxxxxx>


[ Upstream commit e3e86b5119f81e5e2499bea7ea1ebe8ac6aab789 ]

If ip6_find_1stfragopt() fails and we return an error we have to free
up 'segs' because nobody else is going to.

Fixes: 2423496af35d ("ipv6: Prevent overrun when parsing v6 header options")
Reported-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 net/ipv6/ip6_offload.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--- a/net/ipv6/ip6_offload.c
+++ b/net/ipv6/ip6_offload.c
@@ -116,8 +116,10 @@ static struct sk_buff *ipv6_gso_segment(
 
 		if (udpfrag) {
 			int err = ip6_find_1stfragopt(skb, &prevhdr);
-			if (err < 0)
+			if (err < 0) {
+				kfree_skb_list(segs);
 				return ERR_PTR(err);
+			}
 			fptr = (struct frag_hdr *)((u8 *)ipv6h + err);
 			fptr->frag_off = htons(offset);
 			if (skb->next)


Patches currently in stable-queue which might be from davem@xxxxxxxxxxxxx are

queue-4.11/net-dsa-fix-stale-cpu_switch-reference-after-unbind-then-bind.patch
queue-4.11/sparc64-new-context-wrap.patch
queue-4.11/sparc64-add-__multi3-for-gcc-7.x-and-later.patch
queue-4.11/sparc-machine-description-indices-can-vary.patch
queue-4.11/sparc64-combine-activate_mm-and-switch_mm.patch
queue-4.11/sparc64-add-per-cpu-mm-of-secondary-contexts.patch
queue-4.11/sock-reset-sk_err-when-the-error-queue-is-empty.patch
queue-4.11/net-bridge-start-hello-timer-only-if-device-is-up.patch
queue-4.11/sparc64-mm-fix-copy_tsb-to-correctly-copy-huge-page-tsbs.patch
queue-4.11/sparc-mm-hugepages-fix-setup_hugepagesz-for-invalid-values.patch
queue-4.11/sparc64-reset-mm-cpumask-after-wrap.patch
queue-4.11/vxlan-fix-use-after-free-on-deletion.patch
queue-4.11/net-ethoc-enable-napi-before-poll-may-be-scheduled.patch
queue-4.11/cxgb4-avoid-enabling-napi-twice-to-the-same-queue.patch
queue-4.11/ravb-fix-use-after-free-on-ifconfig-eth0-down.patch
queue-4.11/net-systemport-fix-missing-wake-on-lan-interrupt-for-systemport-lite.patch
queue-4.11/net-ipv6-fix-calipso-causing-gpf-with-datagram-support.patch
queue-4.11/tcp-disallow-cwnd-undo-when-switching-congestion-control.patch
queue-4.11/sparc64-redefine-first-version.patch
queue-4.11/vxlan-eliminate-cached-dst-leak.patch
queue-4.11/net-bridge-fix-a-null-pointer-dereference-in-br_afspec.patch
queue-4.11/ip6_tunnel-fix-traffic-class-routing-for-tunnels.patch
queue-4.11/geneve-fix-needed_headroom-and-max_mtu-for-collect_metadata.patch
queue-4.11/ipv6-xfrm-handle-errors-reported-by-xfrm6_find_1stfragopt.patch
queue-4.11/sparc64-delete-old-wrap-code.patch
queue-4.11/bnx2x-fix-multi-cos.patch
queue-4.11/net-ping-do-not-abuse-udp_poll.patch
queue-4.11/net-stmmac-fix-completely-hung-tx-when-using-tso.patch
queue-4.11/ipv6-fix-leak-in-ipv6_gso_segment.patch
queue-4.11/arch-sparc-support-nr_cpus-4096.patch



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]