Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b0c42cd7 authored by Alexander Aring's avatar Alexander Aring Committed by Marcel Holtmann
Browse files

Bluetooth: 6lowpan: fix skb_unshare behaviour



This patch reverts commit:

a7807d73 ("Bluetooth: 6lowpan: Avoid memory leak if memory allocation
fails")

which was wrong suggested by Alexander Aring. The function skb_unshare
run also kfree_skb on failure.

Signed-off-by: default avatarAlexander Aring <alex.aring@gmail.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Cc: stable@vger.kernel.org # 3.18.x
parent cb77c3ec
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -614,17 +614,13 @@ static netdev_tx_t bt_xmit(struct sk_buff *skb, struct net_device *netdev)
	int err = 0;
	bdaddr_t addr;
	u8 addr_type;
	struct sk_buff *tmpskb;

	/* We must take a copy of the skb before we modify/replace the ipv6
	 * header as the header could be used elsewhere
	 */
	tmpskb = skb_unshare(skb, GFP_ATOMIC);
	if (!tmpskb) {
		kfree_skb(skb);
	skb = skb_unshare(skb, GFP_ATOMIC);
	if (!skb)
		return NET_XMIT_DROP;
	}
	skb = tmpskb;

	/* Return values from setup_header()
	 *  <0 - error, packet is dropped