aboutsummaryrefslogtreecommitdiffstats
path: root/net/netlink/genetlink.c
diff options
context:
space:
mode:
authorPer Liden <per.liden@ericsson.com>2006-01-13 16:06:40 -0500
committerDavid S. Miller <davem@davemloft.net>2006-01-13 16:06:40 -0500
commit23b0ca5bf52cef0ab0f0fe247cb91cbef836e7eb (patch)
tree3643a547de2c6f3bad63361d1584ff566c9012ba /net/netlink/genetlink.c
parent2e4e6a17af35be359cc8f1c924f8f198fbd478cc (diff)
[PATCH] genetlink: don't touch module ref count
Increasing the module ref count at registration will block the module from ever being unloaded. In fact, genetlink should not care about the owner at all. This patch removes the owner field from the struct registered with genetlink. Signed-off-by: Per Liden <per.liden@ericsson.com> Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/netlink/genetlink.c')
-rw-r--r--net/netlink/genetlink.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c
index 3b1378498d50..4ae1538c54a9 100644
--- a/net/netlink/genetlink.c
+++ b/net/netlink/genetlink.c
@@ -222,11 +222,6 @@ int genl_register_family(struct genl_family *family)
222 goto errout_locked; 222 goto errout_locked;
223 } 223 }
224 224
225 if (!try_module_get(family->owner)) {
226 err = -EBUSY;
227 goto errout_locked;
228 }
229
230 if (family->id == GENL_ID_GENERATE) { 225 if (family->id == GENL_ID_GENERATE) {
231 u16 newid = genl_generate_id(); 226 u16 newid = genl_generate_id();
232 227
@@ -283,7 +278,6 @@ int genl_unregister_family(struct genl_family *family)
283 INIT_LIST_HEAD(&family->ops_list); 278 INIT_LIST_HEAD(&family->ops_list);
284 genl_unlock(); 279 genl_unlock();
285 280
286 module_put(family->owner);
287 kfree(family->attrbuf); 281 kfree(family->attrbuf);
288 genl_ctrl_event(CTRL_CMD_DELFAMILY, family); 282 genl_ctrl_event(CTRL_CMD_DELFAMILY, family);
289 return 0; 283 return 0;
@@ -535,7 +529,6 @@ static struct genl_family genl_ctrl = {
535 .name = "nlctrl", 529 .name = "nlctrl",
536 .version = 0x1, 530 .version = 0x1,
537 .maxattr = CTRL_ATTR_MAX, 531 .maxattr = CTRL_ATTR_MAX,
538 .owner = THIS_MODULE,
539}; 532};
540 533
541static int __init genl_init(void) 534static int __init genl_init(void)