Re: Notifier chains are unsafe

From: Joe Seigh
Date: Sat Oct 29 2005 - 07:28:15 EST


Herbert Xu wrote:
Andreas Kleen <ak@xxxxxxx> wrote:

Am Mi 26.10.2005 02:01 schrieb Chandra Seetharaman
<sekharan@xxxxxxxxxx>:


Better would be likely to use RCU.

RCU will be a problem if the registered notifiers need to block.

?
Actually blocking should be ok, as long as the blocking notifier doesn't
unregister
itself. The current next pointer will be always reloaded after the
blocking.


Blocking would be OK as long as you reference count the objects.


With or without RCU? I.e., it's just a straighforward reference counting
solution and RCU is being used to allow incrementing the reference counts
safely. Otherwise, without RCU you'd need a lock to safely increment the
reference counts. Also note that with reference counting, the deletes of
the objects can occur any time a reference count is decremented. So that
would include the notify_call threads as well.

--
Joe Seigh

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/