aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw
diff options
context:
space:
mode:
authorBryan O'Sullivan <bos@pathscale.com>2006-07-01 07:36:06 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-07-01 12:56:00 -0400
commit4faba98a1a11a6129cbcc772422c9ffc0c11dd2e (patch)
tree7222224fdc3d7c4708cf48624263c92151f120e0 /drivers/infiniband/hw
parent57abad25f844e760082c0b1ab2b176dad682ea16 (diff)
[PATCH] IB/ipath: disallow send of invalid packet sizes over UD
Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com> Signed-off-by: Bryan O'Sullivan <bryan.osullivan@qlogic.com> Cc: "Michael S. Tsirkin" <mst@mellanox.co.il> Cc: Roland Dreier <rolandd@cisco.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/infiniband/hw')
-rw-r--r--drivers/infiniband/hw/ipath/ipath_ud.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_ud.c b/drivers/infiniband/hw/ipath/ipath_ud.c
index eeff19800db7..3b6d00b9b8be 100644
--- a/drivers/infiniband/hw/ipath/ipath_ud.c
+++ b/drivers/infiniband/hw/ipath/ipath_ud.c
@@ -275,6 +275,11 @@ int ipath_post_ud_send(struct ipath_qp *qp, struct ib_send_wr *wr)
275 len += wr->sg_list[i].length; 275 len += wr->sg_list[i].length;
276 ss.num_sge++; 276 ss.num_sge++;
277 } 277 }
278 /* Check for invalid packet size. */
279 if (len > ipath_layer_get_ibmtu(dev->dd)) {
280 ret = -EINVAL;
281 goto bail;
282 }
278 extra_bytes = (4 - len) & 3; 283 extra_bytes = (4 - len) & 3;
279 nwords = (len + extra_bytes) >> 2; 284 nwords = (len + extra_bytes) >> 2;
280 285