[Devel] Re: [PATCH] Remove notifier block from chain when register_netdevice_notifier fails
Herbert Xu
herbert at gondor.apana.org.au
Wed Nov 14 05:37:17 PST 2007
On Wed, Nov 14, 2007 at 03:08:03PM +0300, Pavel Emelyanov wrote:
> Commit fcc5a03ac42564e9e255c1134dda47442289e466 makes the
> register_netdevice_notifier() handle the error from the
> NETDEV_REGISTER event, sent to the registering block.
>
> The bad news is that in this case the notifier block is
> not removed from the list, but the error is returned to the
> caller. In case the caller is in module init function and
> handles this error this can abort the module loading. The
> notifier block will be then removed from the kernel, but
> will be left in the list. Oops :(
>
> I think that the notifier block should be removed from the
> chain in case of error, regardless whether this error is
> handled by the caller or not. In the worst case (the error
> is _not_ handled) module will not receive the events any
> longer.
>
> Signed-off-by: Pavel Emelyanov <xemul at openvz.org>
Good catch. Thanks Pavel!
Acked-by: Herbert Xu <herbert at gondor.apana.org.au>
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert at gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
More information about the Devel
mailing list