[ofa-general] IPoIB kernel Oops -- race condition
Yossi Etigin
yossi.openib at gmail.com
Sun Jun 28 13:04:53 PDT 2009
Jack Morgenstein wrote:
> in ipoib_mcast_leave():
> *** NEED TO WAIT HERE BEFORE CONTINUING (so that BUSY is cleared (mcast->mc is in error),
> *** or BUSY flag is set and mcast->mc is a valid, non-NULL pointer ****
> if (test_and_clear_bit(IPOIB_MCAST_FLAG_BUSY, &mcast->flags))
> ib_sa_free_multicast(mcast->mc);
>
> - Jack
How about making the leave/free mcast operation take place on the ipoib_workqueue, on which
the join operation takes place? this way we can avoid this race, and more potential races
of this kind.
--Yossi
More information about the general
mailing list