提交 f27eff1f 编写于 作者: M Michael Ellerman 提交者: Jeff Garzik

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

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: NMichael Ellerman <michael@ellerman.id.au>
上级 88d7bd8c
...@@ -924,7 +924,7 @@ static int veth_transmit_to_one(struct sk_buff *skb, HvLpIndex rlp, ...@@ -924,7 +924,7 @@ static int veth_transmit_to_one(struct sk_buff *skb, HvLpIndex rlp,
spin_lock_irqsave(&cnx->lock, flags); spin_lock_irqsave(&cnx->lock, flags);
if (! cnx->state & VETH_STATE_READY) if (! (cnx->state & VETH_STATE_READY))
goto drop; goto drop;
if ((skb->len - 14) > VETH_MAX_MTU) if ((skb->len - 14) > VETH_MAX_MTU)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册