[openib-general] [PATCH 3/3] iWARP CM

Sean Hefty sean.hefty at intel.com
Sun Mar 12 21:24:24 PST 2006


>> > +	if (cm_id->device == NULL || cm_id->device->iwcm == NULL)
>> > +		return -EINVAL;
>>
>> Can these be removed?
>
>I am concerned about someone calling disconnect when the object has
>already been disconnected or on an idle cm_id.

The problem is that there's no protection around this check.  If a caller is
calling disconnect twice or on an idle cm_id, then it sounds like the caller is
broken.  If another thread can change the device or iwcm pointer, then we're
missing needed protection.

This isn't a big deal, but it seems more likely to mask actual bugs.  I would
rather just see synchronized checks against some sort of state value, which I
believe that this function has.

- Sean





More information about the general mailing list