diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c index 2fd6dbea327a8b39d2ec0ed10b927d74bcdab408..1076fe16b1228b09581b9a355b13855e761ee1ce 100644 --- a/net/netlink/genetlink.c +++ b/net/netlink/genetlink.c @@ -877,8 +877,10 @@ static int ctrl_getfamily(struct sk_buff *skb, struct genl_info *info) #ifdef CONFIG_MODULES if (res == NULL) { genl_unlock(); + up_read(&cb_lock); request_module("net-pf-%d-proto-%d-family-%s", PF_NETLINK, NETLINK_GENERIC, name); + down_read(&cb_lock); genl_lock(); res = genl_family_find_byname(name); }