aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHal Rosenstock <halr@voltaire.com>2005-04-16 18:26:05 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:26:05 -0400
commit62241eb497721be7640e5d9330e60f4a88a4db46 (patch)
tree5bf7d25db72b20d0781190c0e3c72cea94a2ecb3
parent48a5346b315183ce482df0909234faf97fa41611 (diff)
[PATCH] IPoIB: set skb->mac.raw on receive
Set skb->mac.raw on receive. This fixes crashes when this is dereferenced, for example by netfilter or when PF_PACKET is used. Signed-off-by: Hal Rosenstock <halr@voltaire.com> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib_ib.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_ib.c b/drivers/infiniband/ulp/ipoib/ipoib_ib.c
index c5a1d45e0ac5..8238766746b2 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_ib.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_ib.c
@@ -201,7 +201,7 @@ static void ipoib_ib_handle_wc(struct net_device *dev,
201 if (wc->slid != priv->local_lid || 201 if (wc->slid != priv->local_lid ||
202 wc->src_qp != priv->qp->qp_num) { 202 wc->src_qp != priv->qp->qp_num) {
203 skb->protocol = ((struct ipoib_header *) skb->data)->proto; 203 skb->protocol = ((struct ipoib_header *) skb->data)->proto;
204 204 skb->mac.raw = skb->data;
205 skb_pull(skb, IPOIB_ENCAP_LEN); 205 skb_pull(skb, IPOIB_ENCAP_LEN);
206 206
207 dev->last_rx = jiffies; 207 dev->last_rx = jiffies;