[PATCH 1/4] iseries_veth: Don't send packets to LPARs which aren't up

From: Michael Ellerman
Date: Thu May 12 2005 - 02:49:32 EST


Hi Andrew, Jeff,

The iseries_veth driver has a logic bug which means it will erroneously
send packets to LPARs for which we don't have a connection.

This usually isn't a big problem because the Hypervisor call fails
gracefully and we return, but if packets are TX'ed during the negotiation
of the connection bad things might happen.

Regardless, the right thing is to bail early if we know there's no
connection.

Signed-off-by: Michael Ellerman <michael@xxxxxxxxxxxxxx>
--

iseries_veth.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)

Index: veth-fixes/drivers/net/iseries_veth.c
===================================================================
--- veth-fixes.orig/drivers/net/iseries_veth.c
+++ veth-fixes/drivers/net/iseries_veth.c
@@ -924,7 +924,7 @@ static int veth_transmit_to_one(struct s

spin_lock_irqsave(&cnx->lock, flags);

- if (! cnx->state & VETH_STATE_READY)
+ if (! (cnx->state & VETH_STATE_READY))
goto drop;

if ((skb->len - 14) > VETH_MAX_MTU)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/