diff --git a/[refs] b/[refs] index e7650ad6abdb..7c5b8f0ef09d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 180211b841b5bf13ab10d19202adab3eb7749f6c +refs/heads/master: 974c37e9d88c3e5a3e56eb98cb9c84232eb2bdcb diff --git a/trunk/net/netlink/af_netlink.c b/trunk/net/netlink/af_netlink.c index a4957bf2ca60..4c5972ba8c78 100644 --- a/trunk/net/netlink/af_netlink.c +++ b/trunk/net/netlink/af_netlink.c @@ -455,9 +455,14 @@ static int netlink_create(struct net *net, struct socket *sock, int protocol, if (nl_table[protocol].registered && try_module_get(nl_table[protocol].module)) module = nl_table[protocol].module; + else + err = -EPROTONOSUPPORT; cb_mutex = nl_table[protocol].cb_mutex; netlink_unlock_table(); + if (err < 0) + goto out; + err = __netlink_create(net, sock, cb_mutex, protocol); if (err < 0) goto out_module;