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

Commit b4bb4ac8 authored by Ilpo Järvinen's avatar Ilpo Järvinen Committed by David S. Miller
Browse files

pktgen: fix skb leak in case of failure



Seems that skb goes into void unless something magic happened
in pskb_expand_head in case of failure.

Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@helsinki.fi>
Acked-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9e9540b8
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -2474,7 +2474,7 @@ static inline int process_ipsec(struct pktgen_dev *pkt_dev,
				if (ret < 0) {
					printk(KERN_ERR "Error expanding "
					       "ipsec packet %d\n",ret);
					return 0;
					goto err;
				}
			}

@@ -2484,8 +2484,7 @@ static inline int process_ipsec(struct pktgen_dev *pkt_dev,
			if (ret) {
				printk(KERN_ERR "Error creating ipsec "
				       "packet %d\n",ret);
				kfree_skb(skb);
				return 0;
				goto err;
			}
			/* restore ll */
			eth = (__u8 *) skb_push(skb, ETH_HLEN);
@@ -2494,6 +2493,9 @@ static inline int process_ipsec(struct pktgen_dev *pkt_dev,
		}
	}
	return 1;
err:
	kfree_skb(skb);
	return 0;
}
#endif