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

Commit 2bb77ab4 authored by Eric W. Biederman's avatar Eric W. Biederman Committed by David S. Miller
Browse files

bonding: Call dev_kfree_skby_any instead of kfree_skb.



Replace kfree_skb with dev_kfree_skb_any in functions that can
be called in hard irq and other contexts.

Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 989c9ba1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2479,7 +2479,7 @@ int bond_3ad_xmit_xor(struct sk_buff *skb, struct net_device *dev)
	return NETDEV_TX_OK;
err_free:
	/* no suitable interface, frame not sent */
	kfree_skb(skb);
	dev_kfree_skb_any(skb);
	goto out;
}

+1 −1
Original line number Diff line number Diff line
@@ -1464,7 +1464,7 @@ int bond_alb_xmit(struct sk_buff *skb, struct net_device *bond_dev)
	}

	/* no suitable interface, frame not sent */
	kfree_skb(skb);
	dev_kfree_skb_any(skb);
out:
	return NETDEV_TX_OK;
}
+5 −5
Original line number Diff line number Diff line
@@ -3548,7 +3548,7 @@ static void bond_xmit_slave_id(struct bonding *bond, struct sk_buff *skb, int sl
		}
	}
	/* no slave that can tx has been found */
	kfree_skb(skb);
	dev_kfree_skb_any(skb);
}

/**
@@ -3624,7 +3624,7 @@ static int bond_xmit_activebackup(struct sk_buff *skb, struct net_device *bond_d
	if (slave)
		bond_dev_queue_xmit(bond, skb, slave->dev);
	else
		kfree_skb(skb);
		dev_kfree_skb_any(skb);

	return NETDEV_TX_OK;
}
@@ -3667,7 +3667,7 @@ static int bond_xmit_broadcast(struct sk_buff *skb, struct net_device *bond_dev)
	if (slave && IS_UP(slave->dev) && slave->link == BOND_LINK_UP)
		bond_dev_queue_xmit(bond, skb, slave->dev);
	else
		kfree_skb(skb);
		dev_kfree_skb_any(skb);

	return NETDEV_TX_OK;
}
@@ -3754,7 +3754,7 @@ static netdev_tx_t __bond_start_xmit(struct sk_buff *skb, struct net_device *dev
		pr_err("%s: Error: Unknown bonding mode %d\n",
		       dev->name, bond->params.mode);
		WARN_ON_ONCE(1);
		kfree_skb(skb);
		dev_kfree_skb_any(skb);
		return NETDEV_TX_OK;
	}
}
@@ -3775,7 +3775,7 @@ static netdev_tx_t bond_start_xmit(struct sk_buff *skb, struct net_device *dev)
	if (bond_has_slaves(bond))
		ret = __bond_start_xmit(skb, dev);
	else
		kfree_skb(skb);
		dev_kfree_skb_any(skb);
	rcu_read_unlock();

	return ret;