[ofa-general] Bug in IPOIB CM

Pradeep Satyanarayana pradeep at us.ibm.com
Mon Mar 19 17:30:58 PDT 2007


Exactly. time_after_eq() is returning false (when the timer has not yet 
expired) and hence deleting active connections and destroying qps etc.

Pradeep
pradeep at us.ibm.com

Roland Dreier <rdreier at cisco.com> wrote on 03/19/2007 04:57:48 PM:

>  > I see a trivial bug in ipoib_cm_stale_task (). The time_after_eq() 
>  > replaces elements whose timer has not yet expired. Instead, one must 
use 
>  > time_before_eq(). Should I supply a patch for this?
> 
> I assume you mean this code:
> 
>       p = list_entry(priv->cm.passive_ids.prev, typeof(*p), list);
>       if (time_after_eq(jiffies, p->jiffies + IPOIB_CM_RX_TIMEOUT))
>          break;
> 
> that does look wrong to me, since the time_after_eq() test seems to be
> true when we would want to free the connection.
> 
>  - R.




More information about the general mailing list