On Fri, 13 Jan 2006, David S. Miller wrote:
> From: Jamal Hadi Salim <[EMAIL PROTECTED]>
> Date: Fri, 13 Jan 2006 09:30:27 -0500
>
> > On Fri, 2006-13-01 at 09:27 +0100, Per Liden wrote:
> > > 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 <[EMAIL PROTECTED]>
> >
> > Signed-off-by: Jamal Hadi Salim <[EMAIL PROTECTED]>
> >
> > BTW, thinking in the background we may in the future need the owner
> > field for users of those modules (not for gennetlink to increment) but
> > lets worry about that in the future.
>
> I don't have a copy of this patch in my inbox, can someone
> resend it to me? Thanks.
Resending.
/Per
[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 <[EMAIL PROTECTED]>
Signed-off-by: Jamal Hadi Salim <[EMAIL PROTECTED]>
---
include/net/genetlink.h | 1 -
net/netlink/genetlink.c | 7 -------
net/tipc/netlink.c | 1 -
3 files changed, 0 insertions(+), 9 deletions(-)
4647eec00ae3dc1be979f5387d766529cb64e29c
diff --git a/include/net/genetlink.h b/include/net/genetlink.h
index c5b96b2..805de50 100644
--- a/include/net/genetlink.h
+++ b/include/net/genetlink.h
@@ -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 */
diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c
index 3b13784..4ae1538 100644
--- a/net/netlink/genetlink.c
+++ b/net/netlink/genetlink.c
@@ -222,11 +222,6 @@ int genl_register_family(struct genl_fam
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();
@@ -283,7 +278,6 @@ int genl_unregister_family(struct genl_f
INIT_LIST_HEAD(&family->ops_list);
genl_unlock();
- module_put(family->owner);
kfree(family->attrbuf);
genl_ctrl_event(CTRL_CMD_DELFAMILY, family);
return 0;
@@ -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)
diff --git a/net/tipc/netlink.c b/net/tipc/netlink.c
index 6fe95ac..19b3f40 100644
--- a/net/tipc/netlink.c
+++ b/net/tipc/netlink.c
@@ -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 = {
--
1.0.GIT
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html