Johannes Berg wrote: > On Fri, 2007-06-29 at 15:11 +0200, Patrick McHardy wrote: > > >>>Hm. I'm starting to dislike the dynamic registration the more I think >>>about it. Now when a group is unregistered I'd have to unbind everybody >>>who's currently using it... At least when I want to enforce >>>root/non-root binds which is a further goal. >> >> >>How about using module references to prevent unloading while sockets >>are bound? We already do the same thing for netlink families. > > > Ah, no, you're both thinking something different. I'm thinking if we > allow dynamic registration the only sensible thing is to have dynamic > unregistration as well, and then we can have this sequence > > (1) register group X with non-root > (2) non-root app A binds group X > (3) kernel unregisters group X > (4) something else in kernel reregisters group ID X but root-only > -> non-root app A is bound to root-only group X I'm not sure that "the only sensible thing to do" is right, we do allow dynamic registration of netlink families and do the module reference thing anyway (admittedly, I never liked that and the autoloading part very much). I guess it depends on how this will be used in the end, if you really do have a group per device or something like that you probably need to be able to unregister at any time. But as I said previously I believe its more in the spirit of netlink to group things logically by message type, in which case some core part would own the family and not a single device. If you do want the dynamic unregistation *and* the non-root mc listening then I guess you don't have a choice but to unbind sockets at unregistration. That shouln't be a real problem, without having though much about it, I believe just clearing the mc group from the bitmap and calling netlink_update_subscriptions should be fine. - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html