Commit 2a04aabf authored by Julia Lawall's avatar Julia Lawall Committed by Pablo Neira Ayuso

netfilter: constify nf_conntrack_l3/4proto parameters

When a nf_conntrack_l3/4proto parameter is not on the left hand side
of an assignment, its address is not taken, and it is not passed to a
function that may modify its fields, then it can be declared as const.

This change is useful from a documentation point of view, and can
possibly facilitate making some nf_conntrack_l3/4proto structures const
subsequently.

Done with the help of Coccinelle.
Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 5b9ccdcb
...@@ -125,23 +125,23 @@ struct nf_conntrack_l4proto *__nf_ct_l4proto_find(u_int16_t l3proto, ...@@ -125,23 +125,23 @@ struct nf_conntrack_l4proto *__nf_ct_l4proto_find(u_int16_t l3proto,
struct nf_conntrack_l4proto *nf_ct_l4proto_find_get(u_int16_t l3proto, struct nf_conntrack_l4proto *nf_ct_l4proto_find_get(u_int16_t l3proto,
u_int8_t l4proto); u_int8_t l4proto);
void nf_ct_l4proto_put(struct nf_conntrack_l4proto *p); void nf_ct_l4proto_put(const struct nf_conntrack_l4proto *p);
/* Protocol pernet registration. */ /* Protocol pernet registration. */
int nf_ct_l4proto_pernet_register_one(struct net *net, int nf_ct_l4proto_pernet_register_one(struct net *net,
struct nf_conntrack_l4proto *proto); const struct nf_conntrack_l4proto *proto);
void nf_ct_l4proto_pernet_unregister_one(struct net *net, void nf_ct_l4proto_pernet_unregister_one(struct net *net,
struct nf_conntrack_l4proto *proto); const struct nf_conntrack_l4proto *proto);
int nf_ct_l4proto_pernet_register(struct net *net, int nf_ct_l4proto_pernet_register(struct net *net,
struct nf_conntrack_l4proto *proto[], struct nf_conntrack_l4proto *const proto[],
unsigned int num_proto); unsigned int num_proto);
void nf_ct_l4proto_pernet_unregister(struct net *net, void nf_ct_l4proto_pernet_unregister(struct net *net,
struct nf_conntrack_l4proto *proto[], struct nf_conntrack_l4proto *const proto[],
unsigned int num_proto); unsigned int num_proto);
/* Protocol global registration. */ /* Protocol global registration. */
int nf_ct_l4proto_register_one(struct nf_conntrack_l4proto *proto); int nf_ct_l4proto_register_one(struct nf_conntrack_l4proto *proto);
void nf_ct_l4proto_unregister_one(struct nf_conntrack_l4proto *proto); void nf_ct_l4proto_unregister_one(const struct nf_conntrack_l4proto *proto);
int nf_ct_l4proto_register(struct nf_conntrack_l4proto *proto[], int nf_ct_l4proto_register(struct nf_conntrack_l4proto *proto[],
unsigned int num_proto); unsigned int num_proto);
void nf_ct_l4proto_unregister(struct nf_conntrack_l4proto *proto[], void nf_ct_l4proto_unregister(struct nf_conntrack_l4proto *proto[],
......
...@@ -68,7 +68,7 @@ struct nf_conn_timeout *nf_ct_timeout_ext_add(struct nf_conn *ct, ...@@ -68,7 +68,7 @@ struct nf_conn_timeout *nf_ct_timeout_ext_add(struct nf_conn *ct,
static inline unsigned int * static inline unsigned int *
nf_ct_timeout_lookup(struct net *net, struct nf_conn *ct, nf_ct_timeout_lookup(struct net *net, struct nf_conn *ct,
struct nf_conntrack_l4proto *l4proto) const struct nf_conntrack_l4proto *l4proto)
{ {
#ifdef CONFIG_NF_CONNTRACK_TIMEOUT #ifdef CONFIG_NF_CONNTRACK_TIMEOUT
struct nf_conn_timeout *timeout_ext; struct nf_conn_timeout *timeout_ext;
......
...@@ -1176,8 +1176,8 @@ EXPORT_SYMBOL_GPL(nf_conntrack_free); ...@@ -1176,8 +1176,8 @@ EXPORT_SYMBOL_GPL(nf_conntrack_free);
static noinline struct nf_conntrack_tuple_hash * static noinline struct nf_conntrack_tuple_hash *
init_conntrack(struct net *net, struct nf_conn *tmpl, init_conntrack(struct net *net, struct nf_conn *tmpl,
const struct nf_conntrack_tuple *tuple, const struct nf_conntrack_tuple *tuple,
struct nf_conntrack_l3proto *l3proto, const struct nf_conntrack_l3proto *l3proto,
struct nf_conntrack_l4proto *l4proto, const struct nf_conntrack_l4proto *l4proto,
struct sk_buff *skb, struct sk_buff *skb,
unsigned int dataoff, u32 hash) unsigned int dataoff, u32 hash)
{ {
...@@ -1288,8 +1288,8 @@ resolve_normal_ct(struct net *net, struct nf_conn *tmpl, ...@@ -1288,8 +1288,8 @@ resolve_normal_ct(struct net *net, struct nf_conn *tmpl,
unsigned int dataoff, unsigned int dataoff,
u_int16_t l3num, u_int16_t l3num,
u_int8_t protonum, u_int8_t protonum,
struct nf_conntrack_l3proto *l3proto, const struct nf_conntrack_l3proto *l3proto,
struct nf_conntrack_l4proto *l4proto) const struct nf_conntrack_l4proto *l4proto)
{ {
const struct nf_conntrack_zone *zone; const struct nf_conntrack_zone *zone;
struct nf_conntrack_tuple tuple; struct nf_conntrack_tuple tuple;
......
...@@ -61,8 +61,8 @@ MODULE_LICENSE("GPL"); ...@@ -61,8 +61,8 @@ MODULE_LICENSE("GPL");
static char __initdata version[] = "0.93"; static char __initdata version[] = "0.93";
static int ctnetlink_dump_tuples_proto(struct sk_buff *skb, static int ctnetlink_dump_tuples_proto(struct sk_buff *skb,
const struct nf_conntrack_tuple *tuple, const struct nf_conntrack_tuple *tuple,
struct nf_conntrack_l4proto *l4proto) const struct nf_conntrack_l4proto *l4proto)
{ {
int ret = 0; int ret = 0;
struct nlattr *nest_parms; struct nlattr *nest_parms;
...@@ -86,7 +86,7 @@ static int ctnetlink_dump_tuples_proto(struct sk_buff *skb, ...@@ -86,7 +86,7 @@ static int ctnetlink_dump_tuples_proto(struct sk_buff *skb,
static int ctnetlink_dump_tuples_ip(struct sk_buff *skb, static int ctnetlink_dump_tuples_ip(struct sk_buff *skb,
const struct nf_conntrack_tuple *tuple, const struct nf_conntrack_tuple *tuple,
struct nf_conntrack_l3proto *l3proto) const struct nf_conntrack_l3proto *l3proto)
{ {
int ret = 0; int ret = 0;
struct nlattr *nest_parms; struct nlattr *nest_parms;
......
...@@ -188,7 +188,7 @@ nf_ct_l4proto_find_get(u_int16_t l3num, u_int8_t l4num) ...@@ -188,7 +188,7 @@ nf_ct_l4proto_find_get(u_int16_t l3num, u_int8_t l4num)
} }
EXPORT_SYMBOL_GPL(nf_ct_l4proto_find_get); EXPORT_SYMBOL_GPL(nf_ct_l4proto_find_get);
void nf_ct_l4proto_put(struct nf_conntrack_l4proto *p) void nf_ct_l4proto_put(const struct nf_conntrack_l4proto *p)
{ {
module_put(p->me); module_put(p->me);
} }
...@@ -257,7 +257,7 @@ void nf_ct_l3proto_unregister(struct nf_conntrack_l3proto *proto) ...@@ -257,7 +257,7 @@ void nf_ct_l3proto_unregister(struct nf_conntrack_l3proto *proto)
EXPORT_SYMBOL_GPL(nf_ct_l3proto_unregister); EXPORT_SYMBOL_GPL(nf_ct_l3proto_unregister);
static struct nf_proto_net *nf_ct_l4proto_net(struct net *net, static struct nf_proto_net *nf_ct_l4proto_net(struct net *net,
struct nf_conntrack_l4proto *l4proto) const struct nf_conntrack_l4proto *l4proto)
{ {
if (l4proto->get_net_proto) { if (l4proto->get_net_proto) {
/* statically built-in protocols use static per-net */ /* statically built-in protocols use static per-net */
...@@ -272,7 +272,7 @@ static struct nf_proto_net *nf_ct_l4proto_net(struct net *net, ...@@ -272,7 +272,7 @@ static struct nf_proto_net *nf_ct_l4proto_net(struct net *net,
static static
int nf_ct_l4proto_register_sysctl(struct net *net, int nf_ct_l4proto_register_sysctl(struct net *net,
struct nf_proto_net *pn, struct nf_proto_net *pn,
struct nf_conntrack_l4proto *l4proto) const struct nf_conntrack_l4proto *l4proto)
{ {
int err = 0; int err = 0;
...@@ -295,8 +295,8 @@ int nf_ct_l4proto_register_sysctl(struct net *net, ...@@ -295,8 +295,8 @@ int nf_ct_l4proto_register_sysctl(struct net *net,
static static
void nf_ct_l4proto_unregister_sysctl(struct net *net, void nf_ct_l4proto_unregister_sysctl(struct net *net,
struct nf_proto_net *pn, struct nf_proto_net *pn,
struct nf_conntrack_l4proto *l4proto) const struct nf_conntrack_l4proto *l4proto)
{ {
#ifdef CONFIG_SYSCTL #ifdef CONFIG_SYSCTL
if (pn->ctl_table_header != NULL) if (pn->ctl_table_header != NULL)
...@@ -366,7 +366,7 @@ int nf_ct_l4proto_register_one(struct nf_conntrack_l4proto *l4proto) ...@@ -366,7 +366,7 @@ int nf_ct_l4proto_register_one(struct nf_conntrack_l4proto *l4proto)
EXPORT_SYMBOL_GPL(nf_ct_l4proto_register_one); EXPORT_SYMBOL_GPL(nf_ct_l4proto_register_one);
int nf_ct_l4proto_pernet_register_one(struct net *net, int nf_ct_l4proto_pernet_register_one(struct net *net,
struct nf_conntrack_l4proto *l4proto) const struct nf_conntrack_l4proto *l4proto)
{ {
int ret = 0; int ret = 0;
struct nf_proto_net *pn = NULL; struct nf_proto_net *pn = NULL;
...@@ -391,7 +391,7 @@ int nf_ct_l4proto_pernet_register_one(struct net *net, ...@@ -391,7 +391,7 @@ int nf_ct_l4proto_pernet_register_one(struct net *net,
} }
EXPORT_SYMBOL_GPL(nf_ct_l4proto_pernet_register_one); EXPORT_SYMBOL_GPL(nf_ct_l4proto_pernet_register_one);
static void __nf_ct_l4proto_unregister_one(struct nf_conntrack_l4proto *l4proto) static void __nf_ct_l4proto_unregister_one(const struct nf_conntrack_l4proto *l4proto)
{ {
BUG_ON(l4proto->l3proto >= ARRAY_SIZE(nf_ct_protos)); BUG_ON(l4proto->l3proto >= ARRAY_SIZE(nf_ct_protos));
...@@ -404,7 +404,7 @@ static void __nf_ct_l4proto_unregister_one(struct nf_conntrack_l4proto *l4proto) ...@@ -404,7 +404,7 @@ static void __nf_ct_l4proto_unregister_one(struct nf_conntrack_l4proto *l4proto)
&nf_conntrack_l4proto_generic); &nf_conntrack_l4proto_generic);
} }
void nf_ct_l4proto_unregister_one(struct nf_conntrack_l4proto *l4proto) void nf_ct_l4proto_unregister_one(const struct nf_conntrack_l4proto *l4proto)
{ {
mutex_lock(&nf_ct_proto_mutex); mutex_lock(&nf_ct_proto_mutex);
__nf_ct_l4proto_unregister_one(l4proto); __nf_ct_l4proto_unregister_one(l4proto);
...@@ -415,7 +415,7 @@ void nf_ct_l4proto_unregister_one(struct nf_conntrack_l4proto *l4proto) ...@@ -415,7 +415,7 @@ void nf_ct_l4proto_unregister_one(struct nf_conntrack_l4proto *l4proto)
EXPORT_SYMBOL_GPL(nf_ct_l4proto_unregister_one); EXPORT_SYMBOL_GPL(nf_ct_l4proto_unregister_one);
void nf_ct_l4proto_pernet_unregister_one(struct net *net, void nf_ct_l4proto_pernet_unregister_one(struct net *net,
struct nf_conntrack_l4proto *l4proto) const struct nf_conntrack_l4proto *l4proto)
{ {
struct nf_proto_net *pn = nf_ct_l4proto_net(net, l4proto); struct nf_proto_net *pn = nf_ct_l4proto_net(net, l4proto);
...@@ -449,7 +449,7 @@ int nf_ct_l4proto_register(struct nf_conntrack_l4proto *l4proto[], ...@@ -449,7 +449,7 @@ int nf_ct_l4proto_register(struct nf_conntrack_l4proto *l4proto[],
EXPORT_SYMBOL_GPL(nf_ct_l4proto_register); EXPORT_SYMBOL_GPL(nf_ct_l4proto_register);
int nf_ct_l4proto_pernet_register(struct net *net, int nf_ct_l4proto_pernet_register(struct net *net,
struct nf_conntrack_l4proto *l4proto[], struct nf_conntrack_l4proto *const l4proto[],
unsigned int num_proto) unsigned int num_proto)
{ {
int ret = -EINVAL; int ret = -EINVAL;
...@@ -485,8 +485,8 @@ void nf_ct_l4proto_unregister(struct nf_conntrack_l4proto *l4proto[], ...@@ -485,8 +485,8 @@ void nf_ct_l4proto_unregister(struct nf_conntrack_l4proto *l4proto[],
EXPORT_SYMBOL_GPL(nf_ct_l4proto_unregister); EXPORT_SYMBOL_GPL(nf_ct_l4proto_unregister);
void nf_ct_l4proto_pernet_unregister(struct net *net, void nf_ct_l4proto_pernet_unregister(struct net *net,
struct nf_conntrack_l4proto *l4proto[], struct nf_conntrack_l4proto *const l4proto[],
unsigned int num_proto) unsigned int num_proto)
{ {
while (num_proto-- != 0) while (num_proto-- != 0)
nf_ct_l4proto_pernet_unregister_one(net, l4proto[num_proto]); nf_ct_l4proto_pernet_unregister_one(net, l4proto[num_proto]);
......
...@@ -47,7 +47,8 @@ static const struct nla_policy cttimeout_nla_policy[CTA_TIMEOUT_MAX+1] = { ...@@ -47,7 +47,8 @@ static const struct nla_policy cttimeout_nla_policy[CTA_TIMEOUT_MAX+1] = {
}; };
static int static int
ctnl_timeout_parse_policy(void *timeouts, struct nf_conntrack_l4proto *l4proto, ctnl_timeout_parse_policy(void *timeouts,
const struct nf_conntrack_l4proto *l4proto,
struct net *net, const struct nlattr *attr) struct net *net, const struct nlattr *attr)
{ {
int ret = 0; int ret = 0;
...@@ -401,7 +402,7 @@ static int cttimeout_default_set(struct net *net, struct sock *ctnl, ...@@ -401,7 +402,7 @@ static int cttimeout_default_set(struct net *net, struct sock *ctnl,
static int static int
cttimeout_default_fill_info(struct net *net, struct sk_buff *skb, u32 portid, cttimeout_default_fill_info(struct net *net, struct sk_buff *skb, u32 portid,
u32 seq, u32 type, int event, u32 seq, u32 type, int event,
struct nf_conntrack_l4proto *l4proto) const struct nf_conntrack_l4proto *l4proto)
{ {
struct nlmsghdr *nlh; struct nlmsghdr *nlh;
struct nfgenmsg *nfmsg; struct nfgenmsg *nfmsg;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment