Re: [PATCH] Module use count must be updated as bridges arecreated/destroyed

From: Jan Beulich
Date: Thu Sep 27 2007 - 03:39:19 EST


>>> Stephen Hemminger <shemminger@xxxxxxxxxxxxxxxxxxxx> 26.09.07 19:12 >>>
>On Wed, 26 Sep 2007 17:08:19 +0100
>"Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:
>
>> >>> Stephen Hemminger <shemminger@xxxxxxxxxxxxxxxxxxxx> 26.09.07 17:37 >>>
>> >On Wed, 26 Sep 2007 08:53:27 +0100
>> >"Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:
>> >
>> >> Otherwise 'modprobe -r' on a module having a dependency on bridge will
>> >> implicitly unload bridge, bringing down all connectivity that was
>> >> using bridges.
>> >>
>> >> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
>> >>
>> >
>> >No, network devices don't do reference counting.
>> >What is the dependency? Where is the source of the module interacting
>> >with the bridge?
>>
>> On a Xen system, I loaded and then unloaded ebtable_broute. The unload
>> implicitly unloaded bridge, destroying the network. The only way I could see
>> to avoid the implicit unload was to bump the reference count on bridge
>> creation. Otherwise I would have to ask why bridge has a zero reference
>> count despite a bridge being configured.
>>
>> Jan
>
>Sounds like a module utilities problem since unloading one module doesn't
>normally unload others.

I have to disagree here - 'modprobe -r' is specifically unloading all modules the
specified one references as long as they have a use count of zero. The
difference to other networking modules is that the latter normally don't export
symbols, and hence don't have dependent modules (and thus cannot be
subject of implicit unloading). Bridge does have dependents, and hence must
avoid implicit unloading by managing its use count.

Jan

-
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/