netfilter: nf_conntrack: add nf_ct_kfree_compat_sysctl_table
authorGao feng <gaofeng@cn.fujitsu.com>
Thu, 21 Jun 2012 04:36:40 +0000 (04:36 +0000)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 27 Jun 2012 16:36:25 +0000 (18:36 +0200)
This patch is a cleanup.

It adds nf_ct_kfree_compat_sysctl_table to release l4proto's
compat sysctl table and set the compat sysctl table point to NULL.

This new function will be used by follow-up patches.

Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/net/netfilter/nf_conntrack_l4proto.h
net/netfilter/nf_conntrack_proto.c

index 5dd60f2d02a1e0e24b0ac2f2a849baacfaca8ae4..08bb571b7abdac28ef2461332103539bcfb0b9b9 100644 (file)
@@ -124,6 +124,14 @@ extern int nf_conntrack_l4proto_register(struct net *net,
 extern void nf_conntrack_l4proto_unregister(struct net *net,
                                            struct nf_conntrack_l4proto *proto);
 
+static inline void nf_ct_kfree_compat_sysctl_table(struct nf_proto_net *pn)
+{
+#if defined(CONFIG_SYSCTL) && defined(CONFIG_NF_CONNTRACK_PROC_COMPAT)
+       kfree(pn->ctl_compat_table);
+       pn->ctl_compat_table = NULL;
+#endif
+}
+
 /* Generic netlink helpers */
 extern int nf_ct_port_tuple_to_nlattr(struct sk_buff *skb,
                                      const struct nf_conntrack_tuple *tuple);
index 6f4b6f3deee5b7312395b827666ecde11a731331..9d6b6ab193a9f4429db219cf708a77fd15368959 100644 (file)
@@ -361,8 +361,7 @@ int nf_ct_l4proto_register_sysctl(struct net *net,
                if (err == 0)
                        goto out;
 
-               kfree(pn->ctl_compat_table);
-               pn->ctl_compat_table = NULL;
+               nf_ct_kfree_compat_sysctl_table(pn);
                nf_ct_unregister_sysctl(&pn->ctl_table_header,
                                        &pn->ctl_table,
                                        &pn->users);