Commit 200d1713 authored by Moni Shoua's avatar Moni Shoua Committed by Jeff Garzik
Browse files

IB/ipoib: Verify address handle validity on send

When the bonding device senses a carrier loss of its active slave it replaces
that slave with a new one. In between the times when the carrier of an IPoIB
device goes down and ipoib_neigh is destroyed, it is possible that the
bonding driver will send a packet on a new slave that uses an old ipoib_neigh.
This patch detects and prevents this from happenning.

Signed-off-by: Moni Shoua <monis at>
Signed-off-by: Or Gerlitz <ogerlitz at>
Acked-by: default avatarRoland Dreier <>
Signed-off-by: default avatarJeff Garzik <>
parent 732a2170
......@@ -692,9 +692,10 @@ static int ipoib_start_xmit(struct sk_buff *skb, struct net_device *dev)
goto out;
} else if (neigh->ah) {
if (unlikely(memcmp(&neigh->dgid.raw,
if (unlikely((memcmp(&neigh->dgid.raw,
skb->dst->neighbour->ha + 4,
sizeof(union ib_gid)))) {
sizeof(union ib_gid))) ||
(neigh->dev != dev))) {
* It's safe to call ipoib_put_ah() inside
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment