Skip to content

Commit

Permalink
[PATCH] genetlink: don't touch module ref count
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Per Liden authored and David S. Miller committed Jan 13, 2006
1 parent 2e4e6a1 commit 23b0ca5
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 9 deletions.
1 change: 0 additions & 1 deletion include/net/genetlink.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ struct genl_family
char name[GENL_NAMSIZ];
unsigned int version;
unsigned int maxattr;
struct module * owner;
struct nlattr ** attrbuf; /* private */
struct list_head ops_list; /* private */
struct list_head family_list; /* private */
Expand Down
7 changes: 0 additions & 7 deletions net/netlink/genetlink.c
Original file line number Diff line number Diff line change
Expand Up @@ -222,11 +222,6 @@ int genl_register_family(struct genl_family *family)
goto errout_locked;
}

if (!try_module_get(family->owner)) {
err = -EBUSY;
goto errout_locked;
}

if (family->id == GENL_ID_GENERATE) {
u16 newid = genl_generate_id();

Expand Down Expand Up @@ -283,7 +278,6 @@ int genl_unregister_family(struct genl_family *family)
INIT_LIST_HEAD(&family->ops_list);
genl_unlock();

module_put(family->owner);
kfree(family->attrbuf);
genl_ctrl_event(CTRL_CMD_DELFAMILY, family);
return 0;
Expand Down Expand Up @@ -535,7 +529,6 @@ static struct genl_family genl_ctrl = {
.name = "nlctrl",
.version = 0x1,
.maxattr = CTRL_ATTR_MAX,
.owner = THIS_MODULE,
};

static int __init genl_init(void)
Expand Down
1 change: 0 additions & 1 deletion net/tipc/netlink.c
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ static struct genl_family family = {
.version = TIPC_GENL_VERSION,
.hdrsize = TIPC_GENL_HDRLEN,
.maxattr = 0,
.owner = THIS_MODULE,
};

static struct genl_ops ops = {
Expand Down

0 comments on commit 23b0ca5

Please sign in to comment.