genetlink: simplify genl_notify
authorJiri Benc <jbenc@redhat.com>
Tue, 22 Sep 2015 16:56:43 +0000 (18:56 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 24 Sep 2015 19:25:23 +0000 (12:25 -0700)
The genl_notify function has too many arguments for no real reason - all
callers use genl_info to get them anyway. Just pass the genl_info down to
genl_notify.

Signed-off-by: Jiri Benc <jbenc@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/wireless/mac80211_hwsim.c
include/net/genetlink.h
net/netlink/genetlink.c
net/openvswitch/datapath.c

index 520bef8..66c963d 100644 (file)
@@ -2190,9 +2190,8 @@ static void hwsim_mcast_config_msg(struct sk_buff *mcast_skb,
                                   struct genl_info *info)
 {
        if (info)
-               genl_notify(&hwsim_genl_family, mcast_skb,
-                           genl_info_net(info), info->snd_portid,
-                           HWSIM_MCGRP_CONFIG, info->nlhdr, GFP_KERNEL);
+               genl_notify(&hwsim_genl_family, mcast_skb, info,
+                           HWSIM_MCGRP_CONFIG, GFP_KERNEL);
        else
                genlmsg_multicast(&hwsim_genl_family, mcast_skb, 0,
                                  HWSIM_MCGRP_CONFIG, GFP_KERNEL);
index a9af1cc..1b6b6dc 100644 (file)
@@ -183,9 +183,8 @@ _genl_register_family_with_ops_grps(struct genl_family *family,
                                            (grps), ARRAY_SIZE(grps))
 
 int genl_unregister_family(struct genl_family *family);
-void genl_notify(struct genl_family *family,
-                struct sk_buff *skb, struct net *net, u32 portid,
-                u32 group, struct nlmsghdr *nlh, gfp_t flags);
+void genl_notify(struct genl_family *family, struct sk_buff *skb,
+                struct genl_info *info, u32 group, gfp_t flags);
 
 struct sk_buff *genlmsg_new_unicast(size_t payload, struct genl_info *info,
                                    gfp_t flags);
index 2ed5f96..75724a9 100644 (file)
@@ -1136,19 +1136,19 @@ int genlmsg_multicast_allns(struct genl_family *family, struct sk_buff *skb,
 }
 EXPORT_SYMBOL(genlmsg_multicast_allns);
 
-void genl_notify(struct genl_family *family,
-                struct sk_buff *skb, struct net *net, u32 portid, u32 group,
-                struct nlmsghdr *nlh, gfp_t flags)
+void genl_notify(struct genl_family *family, struct sk_buff *skb,
+                struct genl_info *info, u32 group, gfp_t flags)
 {
+       struct net *net = genl_info_net(info);
        struct sock *sk = net->genl_sock;
        int report = 0;
 
-       if (nlh)
-               report = nlmsg_report(nlh);
+       if (info->nlhdr)
+               report = nlmsg_report(info->nlhdr);
 
        if (WARN_ON_ONCE(group >= family->n_mcgrps))
                return;
        group = family->mcgrp_offset + group;
-       nlmsg_notify(sk, skb, portid, group, report, flags);
+       nlmsg_notify(sk, skb, info->snd_portid, group, report, flags);
 }
 EXPORT_SYMBOL(genl_notify);
index 6fbd2de..2913594 100644 (file)
@@ -91,8 +91,7 @@ static bool ovs_must_notify(struct genl_family *family, struct genl_info *info,
 static void ovs_notify(struct genl_family *family,
                       struct sk_buff *skb, struct genl_info *info)
 {
-       genl_notify(family, skb, genl_info_net(info), info->snd_portid,
-                   0, info->nlhdr, GFP_KERNEL);
+       genl_notify(family, skb, info, 0, GFP_KERNEL);
 }
 
 /**