aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2014-12-22 12:56:36 -0500
committerDavid S. Miller <davem@davemloft.net>2014-12-27 02:20:23 -0500
commitf8403a2e47afb37bcd3b7e286996d138a116c39d (patch)
tree4c3205b1d191df99969386bd52ef1ee25911a508
parent02c81ab95d8718d75886d16227a10cc7774493ea (diff)
genetlink: pass only network namespace to genl_has_listeners()
There's no point to force the caller to know about the internal genl_sock to use inside struct net, just have them pass the network namespace. This doesn't really change code generation since it's an inline, but makes the caller less magic - there's never any reason to pass another socket. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/net/genetlink.h4
-rw-r--r--net/openvswitch/datapath.c3
2 files changed, 3 insertions, 4 deletions
diff --git a/include/net/genetlink.h b/include/net/genetlink.h
index af10c2cf8a1d..38620da4aa7a 100644
--- a/include/net/genetlink.h
+++ b/include/net/genetlink.h
@@ -395,11 +395,11 @@ static inline int genl_set_err(struct genl_family *family, struct net *net,
395} 395}
396 396
397static inline int genl_has_listeners(struct genl_family *family, 397static inline int genl_has_listeners(struct genl_family *family,
398 struct sock *sk, unsigned int group) 398 struct net *net, unsigned int group)
399{ 399{
400 if (WARN_ON_ONCE(group >= family->n_mcgrps)) 400 if (WARN_ON_ONCE(group >= family->n_mcgrps))
401 return -EINVAL; 401 return -EINVAL;
402 group = family->mcgrp_offset + group; 402 group = family->mcgrp_offset + group;
403 return netlink_has_listeners(sk, group); 403 return netlink_has_listeners(net->genl_sock, group);
404} 404}
405#endif /* __NET_GENERIC_NETLINK_H */ 405#endif /* __NET_GENERIC_NETLINK_H */
diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c
index 332b5a031739..4e9a5f035cbc 100644
--- a/net/openvswitch/datapath.c
+++ b/net/openvswitch/datapath.c
@@ -83,8 +83,7 @@ static bool ovs_must_notify(struct genl_family *family, struct genl_info *info,
83 unsigned int group) 83 unsigned int group)
84{ 84{
85 return info->nlhdr->nlmsg_flags & NLM_F_ECHO || 85 return info->nlhdr->nlmsg_flags & NLM_F_ECHO ||
86 genl_has_listeners(family, genl_info_net(info)->genl_sock, 86 genl_has_listeners(family, genl_info_net(info), group);
87 group);
88} 87}
89 88
90static void ovs_notify(struct genl_family *family, 89static void ovs_notify(struct genl_family *family,