ipath_skip_sge() doesn't exactly duplicate the side effects of
ipath_copy_sge() if num_sge > 1 since it doesn't decrement ss->num_sge.
This could result in the sg_list being accessed out of bounds.
Since ipath_skip_sge() is almost always called with num_sge == 1,
the original "optimization" is almost never used.

Signed-off-by: Ralph Campbell <[EMAIL PROTECTED]>

diff -r 62120593e7d6 drivers/infiniband/hw/ipath/ipath_verbs.c
--- a/drivers/infiniband/hw/ipath/ipath_verbs.c Mon Jul 17 17:36:13 2006 -0700
+++ b/drivers/infiniband/hw/ipath/ipath_verbs.c Mon Jul 17 17:42:52 2006 -0700
@@ -191,10 +191,6 @@ void ipath_skip_sge(struct ipath_sge_sta
 {
        struct ipath_sge *sge = &ss->sge;
 
-       while (length > sge->sge_length) {
-               length -= sge->sge_length;
-               ss->sge = *ss->sg_list++;
-       }
        while (length) {
                u32 len = sge->length;
 



_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to