Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a7d4eea9185c20275307fcd1077d6f9dfdab48a
Commit:     5a7d4eea9185c20275307fcd1077d6f9dfdab48a
Parent:     0ed3c594e3878274787810422760dc7c51e0ee72
Author:     Bryan O'Sullivan <[EMAIL PROTECTED]>
AuthorDate: Thu Mar 15 14:45:03 2007 -0700
Committer:  Roland Dreier <[EMAIL PROTECTED]>
CommitDate: Wed Apr 18 20:20:57 2007 -0700

    IB/ipath: Discard multicast packets without a GRH
    
    This patch fixes a bug where multicast packets without a GRH were not
    being dropped as per the IB spec.
    
    Signed-off-by: Ralph Campbell <[EMAIL PROTECTED]>
    Signed-off-by: Bryan O'Sullivan <[EMAIL PROTECTED]>
    Signed-off-by: Roland Dreier <[EMAIL PROTECTED]>
---
 drivers/infiniband/hw/ipath/ipath_verbs.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/infiniband/hw/ipath/ipath_verbs.c 
b/drivers/infiniband/hw/ipath/ipath_verbs.c
index 9bec5a9..f5604b8 100644
--- a/drivers/infiniband/hw/ipath/ipath_verbs.c
+++ b/drivers/infiniband/hw/ipath/ipath_verbs.c
@@ -438,6 +438,10 @@ void ipath_ib_rcv(struct ipath_ibdev *dev, void *rhdr, 
void *data,
                struct ipath_mcast *mcast;
                struct ipath_mcast_qp *p;
 
+               if (lnh != IPATH_LRH_GRH) {
+                       dev->n_pkt_drops++;
+                       goto bail;
+               }
                mcast = ipath_mcast_find(&hdr->u.l.grh.dgid);
                if (mcast == NULL) {
                        dev->n_pkt_drops++;
@@ -445,8 +449,7 @@ void ipath_ib_rcv(struct ipath_ibdev *dev, void *rhdr, void 
*data,
                }
                dev->n_multicast_rcv++;
                list_for_each_entry_rcu(p, &mcast->qp_list, list)
-                       ipath_qp_rcv(dev, hdr, lnh == IPATH_LRH_GRH, data,
-                                    tlen, p->qp);
+                       ipath_qp_rcv(dev, hdr, 1, data, tlen, p->qp);
                /*
                 * Notify ipath_multicast_detach() if it is waiting for us
                 * to finish.
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to