{"id":809412,"url":"http://patchwork.ozlabs.org/api/1.2/patches/809412/?format=json","web_url":"http://patchwork.ozlabs.org/project/netfilter-devel/patch/1504477763-12205-3-git-send-email-pablo@netfilter.org/","project":{"id":26,"url":"http://patchwork.ozlabs.org/api/1.2/projects/26/?format=json","name":"Netfilter Development","link_name":"netfilter-devel","list_id":"netfilter-devel.vger.kernel.org","list_email":"netfilter-devel@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<1504477763-12205-3-git-send-email-pablo@netfilter.org>","list_archive_url":null,"date":"2017-09-03T22:28:58","name":"[22/47] netfilter: constify nf_conntrack_l3/4proto parameters","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"c32bca88d81f393924d5011dc9868930c90999b7","submitter":{"id":1315,"url":"http://patchwork.ozlabs.org/api/1.2/people/1315/?format=json","name":"Pablo Neira Ayuso","email":"pablo@netfilter.org"},"delegate":{"id":6139,"url":"http://patchwork.ozlabs.org/api/1.2/users/6139/?format=json","username":"pablo","first_name":"Pablo","last_name":"Neira","email":"pablo@netfilter.org"},"mbox":"http://patchwork.ozlabs.org/project/netfilter-devel/patch/1504477763-12205-3-git-send-email-pablo@netfilter.org/mbox/","series":[{"id":1280,"url":"http://patchwork.ozlabs.org/api/1.2/series/1280/?format=json","web_url":"http://patchwork.ozlabs.org/project/netfilter-devel/list/?series=1280","date":"2017-09-03T22:25:42","name":"[01/47] netfilter: expect: add to hash table after expect init","version":1,"mbox":"http://patchwork.ozlabs.org/series/1280/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/809412/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/809412/checks/","tags":{},"related":[],"headers":{"Return-Path":"<netfilter-devel-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netfilter-devel-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xlnj361SSz9s06\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon,  4 Sep 2017 08:29:43 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1753186AbdICW3m (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tSun, 3 Sep 2017 18:29:42 -0400","from mail.us.es ([193.147.175.20]:51466 \"EHLO mail.us.es\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1753145AbdICW3j (ORCPT <rfc822; netfilter-devel@vger.kernel.org>);\n\tSun, 3 Sep 2017 18:29:39 -0400","from antivirus1-rhel7.int (unknown [192.168.2.11])\n\tby mail.us.es (Postfix) with ESMTP id DE584190F66\n\tfor <netfilter-devel@vger.kernel.org>;\n\tMon,  4 Sep 2017 00:29:11 +0200 (CEST)","from antivirus1-rhel7.int (localhost [127.0.0.1])\n\tby antivirus1-rhel7.int (Postfix) with ESMTP id CD0C8B5028\n\tfor <netfilter-devel@vger.kernel.org>;\n\tMon,  4 Sep 2017 00:29:11 +0200 (CEST)","by antivirus1-rhel7.int (Postfix, from userid 99)\n\tid CC7B0B5026; Mon,  4 Sep 2017 00:29:11 +0200 (CEST)","from antivirus1-rhel7.int (localhost [127.0.0.1])\n\tby antivirus1-rhel7.int (Postfix) with ESMTP id 680BCDA56C;\n\tMon,  4 Sep 2017 00:29:09 +0200 (CEST)","from 192.168.1.97 (192.168.1.97) by antivirus1-rhel7.int\n\t(F-Secure/fsigk_smtp/550/antivirus1-rhel7.int); \n\tMon, 04 Sep 2017 00:29:09 +0200 (CEST)","from salvia.here (unknown [31.4.193.113])\n\t(Authenticated sender: pneira@us.es)\n\tby entrada.int (Postfix) with ESMTPA id 110844265A20;\n\tMon,  4 Sep 2017 00:29:08 +0200 (CEST)"],"X-Spam-Checker-Version":"SpamAssassin 3.4.1 (2015-04-28) on\n\tantivirus1-rhel7.int","X-Spam-Level":"","X-Spam-Status":"No, score=-108.2 required=7.5 tests=ALL_TRUSTED,BAYES_50,\n\tSMTPAUTH_US2,USER_IN_WHITELIST autolearn=disabled version=3.4.1","X-Virus-Status":"clean(F-Secure/fsigk_smtp/550/antivirus1-rhel7.int)","X-SMTPAUTHUS":"auth mail.us.es","From":"Pablo Neira Ayuso <pablo@netfilter.org>","To":"netfilter-devel@vger.kernel.org","Cc":"davem@davemloft.net, netdev@vger.kernel.org","Subject":"[PATCH 22/47] netfilter: constify nf_conntrack_l3/4proto parameters","Date":"Mon,  4 Sep 2017 00:28:58 +0200","Message-Id":"<1504477763-12205-3-git-send-email-pablo@netfilter.org>","X-Mailer":"git-send-email 2.1.4","In-Reply-To":"<1504477763-12205-1-git-send-email-pablo@netfilter.org>","References":"<1504477763-12205-1-git-send-email-pablo@netfilter.org>","X-Virus-Scanned":"ClamAV using ClamSMTP","Sender":"netfilter-devel-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netfilter-devel.vger.kernel.org>","X-Mailing-List":"netfilter-devel@vger.kernel.org"},"content":"From: Julia Lawall <julia.lawall@lip6.fr>\n\nWhen a nf_conntrack_l3/4proto parameter is not on the left hand side\nof an assignment, its address is not taken, and it is not passed to a\nfunction that may modify its fields, then it can be declared as const.\n\nThis change is useful from a documentation point of view, and can\npossibly facilitate making some nf_conntrack_l3/4proto structures const\nsubsequently.\n\nDone with the help of Coccinelle.\n\nSigned-off-by: Julia Lawall <Julia.Lawall@lip6.fr>\nSigned-off-by: Pablo Neira Ayuso <pablo@netfilter.org>\n---\n include/net/netfilter/nf_conntrack_l4proto.h | 14 +++++++-------\n include/net/netfilter/nf_conntrack_timeout.h |  2 +-\n net/netfilter/nf_conntrack_core.c            |  8 ++++----\n net/netfilter/nf_conntrack_netlink.c         |  6 +++---\n net/netfilter/nf_conntrack_proto.c           | 24 ++++++++++++------------\n net/netfilter/nfnetlink_cttimeout.c          |  5 +++--\n 6 files changed, 30 insertions(+), 29 deletions(-)","diff":"diff --git a/include/net/netfilter/nf_conntrack_l4proto.h b/include/net/netfilter/nf_conntrack_l4proto.h\nindex 7032e044bbe2..b6e27cafb1d9 100644\n--- a/include/net/netfilter/nf_conntrack_l4proto.h\n+++ b/include/net/netfilter/nf_conntrack_l4proto.h\n@@ -125,23 +125,23 @@ struct nf_conntrack_l4proto *__nf_ct_l4proto_find(u_int16_t l3proto,\n \n struct nf_conntrack_l4proto *nf_ct_l4proto_find_get(u_int16_t l3proto,\n \t\t\t\t\t\t    u_int8_t l4proto);\n-void nf_ct_l4proto_put(struct nf_conntrack_l4proto *p);\n+void nf_ct_l4proto_put(const struct nf_conntrack_l4proto *p);\n \n /* Protocol pernet registration. */\n int nf_ct_l4proto_pernet_register_one(struct net *net,\n-\t\t\t\t      struct nf_conntrack_l4proto *proto);\n+\t\t\t\tconst struct nf_conntrack_l4proto *proto);\n void nf_ct_l4proto_pernet_unregister_one(struct net *net,\n-\t\t\t\t\t struct nf_conntrack_l4proto *proto);\n+\t\t\t\tconst struct nf_conntrack_l4proto *proto);\n int nf_ct_l4proto_pernet_register(struct net *net,\n-\t\t\t\t  struct nf_conntrack_l4proto *proto[],\n+\t\t\t\t  struct nf_conntrack_l4proto *const proto[],\n \t\t\t\t  unsigned int num_proto);\n void nf_ct_l4proto_pernet_unregister(struct net *net,\n-\t\t\t\t     struct nf_conntrack_l4proto *proto[],\n-\t\t\t\t     unsigned int num_proto);\n+\t\t\t\tstruct nf_conntrack_l4proto *const proto[],\n+\t\t\t\tunsigned int num_proto);\n \n /* Protocol global registration. */\n int nf_ct_l4proto_register_one(struct nf_conntrack_l4proto *proto);\n-void nf_ct_l4proto_unregister_one(struct nf_conntrack_l4proto *proto);\n+void nf_ct_l4proto_unregister_one(const struct nf_conntrack_l4proto *proto);\n int nf_ct_l4proto_register(struct nf_conntrack_l4proto *proto[],\n \t\t\t   unsigned int num_proto);\n void nf_ct_l4proto_unregister(struct nf_conntrack_l4proto *proto[],\ndiff --git a/include/net/netfilter/nf_conntrack_timeout.h b/include/net/netfilter/nf_conntrack_timeout.h\nindex d40b89355fdd..b222957062b5 100644\n--- a/include/net/netfilter/nf_conntrack_timeout.h\n+++ b/include/net/netfilter/nf_conntrack_timeout.h\n@@ -68,7 +68,7 @@ struct nf_conn_timeout *nf_ct_timeout_ext_add(struct nf_conn *ct,\n \n static inline unsigned int *\n nf_ct_timeout_lookup(struct net *net, struct nf_conn *ct,\n-\t\t     struct nf_conntrack_l4proto *l4proto)\n+\t\t     const struct nf_conntrack_l4proto *l4proto)\n {\n #ifdef CONFIG_NF_CONNTRACK_TIMEOUT\n \tstruct nf_conn_timeout *timeout_ext;\ndiff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c\nindex 2bc499186186..f2f00eaf217d 100644\n--- a/net/netfilter/nf_conntrack_core.c\n+++ b/net/netfilter/nf_conntrack_core.c\n@@ -1176,8 +1176,8 @@ EXPORT_SYMBOL_GPL(nf_conntrack_free);\n static noinline struct nf_conntrack_tuple_hash *\n init_conntrack(struct net *net, struct nf_conn *tmpl,\n \t       const struct nf_conntrack_tuple *tuple,\n-\t       struct nf_conntrack_l3proto *l3proto,\n-\t       struct nf_conntrack_l4proto *l4proto,\n+\t       const struct nf_conntrack_l3proto *l3proto,\n+\t       const struct nf_conntrack_l4proto *l4proto,\n \t       struct sk_buff *skb,\n \t       unsigned int dataoff, u32 hash)\n {\n@@ -1288,8 +1288,8 @@ resolve_normal_ct(struct net *net, struct nf_conn *tmpl,\n \t\t  unsigned int dataoff,\n \t\t  u_int16_t l3num,\n \t\t  u_int8_t protonum,\n-\t\t  struct nf_conntrack_l3proto *l3proto,\n-\t\t  struct nf_conntrack_l4proto *l4proto)\n+\t\t  const struct nf_conntrack_l3proto *l3proto,\n+\t\t  const struct nf_conntrack_l4proto *l4proto)\n {\n \tconst struct nf_conntrack_zone *zone;\n \tstruct nf_conntrack_tuple tuple;\ndiff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c\nindex 4922c8aefb2a..f4ca48817f66 100644\n--- a/net/netfilter/nf_conntrack_netlink.c\n+++ b/net/netfilter/nf_conntrack_netlink.c\n@@ -61,8 +61,8 @@ MODULE_LICENSE(\"GPL\");\n static char __initdata version[] = \"0.93\";\n \n static int ctnetlink_dump_tuples_proto(struct sk_buff *skb,\n-\t\t\t\t       const struct nf_conntrack_tuple *tuple,\n-\t\t\t\t       struct nf_conntrack_l4proto *l4proto)\n+\t\t\t\tconst struct nf_conntrack_tuple *tuple,\n+\t\t\t\tconst struct nf_conntrack_l4proto *l4proto)\n {\n \tint ret = 0;\n \tstruct nlattr *nest_parms;\n@@ -86,7 +86,7 @@ static int ctnetlink_dump_tuples_proto(struct sk_buff *skb,\n \n static int ctnetlink_dump_tuples_ip(struct sk_buff *skb,\n \t\t\t\t    const struct nf_conntrack_tuple *tuple,\n-\t\t\t\t    struct nf_conntrack_l3proto *l3proto)\n+\t\t\t\t    const struct nf_conntrack_l3proto *l3proto)\n {\n \tint ret = 0;\n \tstruct nlattr *nest_parms;\ndiff --git a/net/netfilter/nf_conntrack_proto.c b/net/netfilter/nf_conntrack_proto.c\nindex 7c89dade6fd3..27810cf816a6 100644\n--- a/net/netfilter/nf_conntrack_proto.c\n+++ b/net/netfilter/nf_conntrack_proto.c\n@@ -188,7 +188,7 @@ nf_ct_l4proto_find_get(u_int16_t l3num, u_int8_t l4num)\n }\n EXPORT_SYMBOL_GPL(nf_ct_l4proto_find_get);\n \n-void nf_ct_l4proto_put(struct nf_conntrack_l4proto *p)\n+void nf_ct_l4proto_put(const struct nf_conntrack_l4proto *p)\n {\n \tmodule_put(p->me);\n }\n@@ -257,7 +257,7 @@ void nf_ct_l3proto_unregister(struct nf_conntrack_l3proto *proto)\n EXPORT_SYMBOL_GPL(nf_ct_l3proto_unregister);\n \n static struct nf_proto_net *nf_ct_l4proto_net(struct net *net,\n-\t\t\t\t\t      struct nf_conntrack_l4proto *l4proto)\n+\t\t\t\tconst struct nf_conntrack_l4proto *l4proto)\n {\n \tif (l4proto->get_net_proto) {\n \t\t/* statically built-in protocols use static per-net */\n@@ -272,7 +272,7 @@ static struct nf_proto_net *nf_ct_l4proto_net(struct net *net,\n static\n int nf_ct_l4proto_register_sysctl(struct net *net,\n \t\t\t\t  struct nf_proto_net *pn,\n-\t\t\t\t  struct nf_conntrack_l4proto *l4proto)\n+\t\t\t\t  const struct nf_conntrack_l4proto *l4proto)\n {\n \tint err = 0;\n \n@@ -295,8 +295,8 @@ int nf_ct_l4proto_register_sysctl(struct net *net,\n \n static\n void nf_ct_l4proto_unregister_sysctl(struct net *net,\n-\t\t\t\t     struct nf_proto_net *pn,\n-\t\t\t\t     struct nf_conntrack_l4proto *l4proto)\n+\t\t\t\tstruct nf_proto_net *pn,\n+\t\t\t\tconst struct nf_conntrack_l4proto *l4proto)\n {\n #ifdef CONFIG_SYSCTL\n \tif (pn->ctl_table_header != NULL)\n@@ -366,7 +366,7 @@ int nf_ct_l4proto_register_one(struct nf_conntrack_l4proto *l4proto)\n EXPORT_SYMBOL_GPL(nf_ct_l4proto_register_one);\n \n int nf_ct_l4proto_pernet_register_one(struct net *net,\n-\t\t\t\t      struct nf_conntrack_l4proto *l4proto)\n+\t\t\t\tconst struct nf_conntrack_l4proto *l4proto)\n {\n \tint ret = 0;\n \tstruct nf_proto_net *pn = NULL;\n@@ -391,7 +391,7 @@ int nf_ct_l4proto_pernet_register_one(struct net *net,\n }\n EXPORT_SYMBOL_GPL(nf_ct_l4proto_pernet_register_one);\n \n-static void __nf_ct_l4proto_unregister_one(struct nf_conntrack_l4proto *l4proto)\n+static void __nf_ct_l4proto_unregister_one(const struct nf_conntrack_l4proto *l4proto)\n \n {\n \tBUG_ON(l4proto->l3proto >= ARRAY_SIZE(nf_ct_protos));\n@@ -404,7 +404,7 @@ static void __nf_ct_l4proto_unregister_one(struct nf_conntrack_l4proto *l4proto)\n \t\t\t   &nf_conntrack_l4proto_generic);\n }\n \n-void nf_ct_l4proto_unregister_one(struct nf_conntrack_l4proto *l4proto)\n+void nf_ct_l4proto_unregister_one(const struct nf_conntrack_l4proto *l4proto)\n {\n \tmutex_lock(&nf_ct_proto_mutex);\n \t__nf_ct_l4proto_unregister_one(l4proto);\n@@ -415,7 +415,7 @@ void nf_ct_l4proto_unregister_one(struct nf_conntrack_l4proto *l4proto)\n EXPORT_SYMBOL_GPL(nf_ct_l4proto_unregister_one);\n \n void nf_ct_l4proto_pernet_unregister_one(struct net *net,\n-\t\t\t\t\t struct nf_conntrack_l4proto *l4proto)\n+\t\t\t\tconst struct nf_conntrack_l4proto *l4proto)\n {\n \tstruct nf_proto_net *pn = nf_ct_l4proto_net(net, l4proto);\n \n@@ -449,7 +449,7 @@ int nf_ct_l4proto_register(struct nf_conntrack_l4proto *l4proto[],\n EXPORT_SYMBOL_GPL(nf_ct_l4proto_register);\n \n int nf_ct_l4proto_pernet_register(struct net *net,\n-\t\t\t\t  struct nf_conntrack_l4proto *l4proto[],\n+\t\t\t\t  struct nf_conntrack_l4proto *const l4proto[],\n \t\t\t\t  unsigned int num_proto)\n {\n \tint ret = -EINVAL;\n@@ -485,8 +485,8 @@ void nf_ct_l4proto_unregister(struct nf_conntrack_l4proto *l4proto[],\n EXPORT_SYMBOL_GPL(nf_ct_l4proto_unregister);\n \n void nf_ct_l4proto_pernet_unregister(struct net *net,\n-\t\t\t\t     struct nf_conntrack_l4proto *l4proto[],\n-\t\t\t\t     unsigned int num_proto)\n+\t\t\t\tstruct nf_conntrack_l4proto *const l4proto[],\n+\t\t\t\tunsigned int num_proto)\n {\n \twhile (num_proto-- != 0)\n \t\tnf_ct_l4proto_pernet_unregister_one(net, l4proto[num_proto]);\ndiff --git a/net/netfilter/nfnetlink_cttimeout.c b/net/netfilter/nfnetlink_cttimeout.c\nindex f4fb6d4dd0b9..fcabccc99f0d 100644\n--- a/net/netfilter/nfnetlink_cttimeout.c\n+++ b/net/netfilter/nfnetlink_cttimeout.c\n@@ -47,7 +47,8 @@ static const struct nla_policy cttimeout_nla_policy[CTA_TIMEOUT_MAX+1] = {\n };\n \n static int\n-ctnl_timeout_parse_policy(void *timeouts, struct nf_conntrack_l4proto *l4proto,\n+ctnl_timeout_parse_policy(void *timeouts,\n+\t\t\t  const struct nf_conntrack_l4proto *l4proto,\n \t\t\t  struct net *net, const struct nlattr *attr)\n {\n \tint ret = 0;\n@@ -401,7 +402,7 @@ static int cttimeout_default_set(struct net *net, struct sock *ctnl,\n static int\n cttimeout_default_fill_info(struct net *net, struct sk_buff *skb, u32 portid,\n \t\t\t    u32 seq, u32 type, int event,\n-\t\t\t    struct nf_conntrack_l4proto *l4proto)\n+\t\t\t    const struct nf_conntrack_l4proto *l4proto)\n {\n \tstruct nlmsghdr *nlh;\n \tstruct nfgenmsg *nfmsg;\n","prefixes":["22/47"]}