Commit 3d0c9c4e authored by Patrick McHardy's avatar Patrick McHardy

net: fib_rules: mark arguments to fib_rules_register const and __net_initdata

fib_rules_register() duplicates the template passed to it without modification,
mark the argument as const. Additionally the templates are only needed when
instantiating a new namespace, so mark them as __net_initdata, which means
they can be discarded when CONFIG_NET_NS=n.
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
parent 8c52d509
...@@ -104,7 +104,7 @@ static inline u32 frh_get_table(struct fib_rule_hdr *frh, struct nlattr **nla) ...@@ -104,7 +104,7 @@ static inline u32 frh_get_table(struct fib_rule_hdr *frh, struct nlattr **nla)
return frh->table; return frh->table;
} }
extern struct fib_rules_ops *fib_rules_register(struct fib_rules_ops *, struct net *); extern struct fib_rules_ops *fib_rules_register(const struct fib_rules_ops *, struct net *);
extern void fib_rules_unregister(struct fib_rules_ops *); extern void fib_rules_unregister(struct fib_rules_ops *);
extern void fib_rules_cleanup_ops(struct fib_rules_ops *); extern void fib_rules_cleanup_ops(struct fib_rules_ops *);
......
...@@ -122,7 +122,7 @@ static int __fib_rules_register(struct fib_rules_ops *ops) ...@@ -122,7 +122,7 @@ static int __fib_rules_register(struct fib_rules_ops *ops)
} }
struct fib_rules_ops * struct fib_rules_ops *
fib_rules_register(struct fib_rules_ops *tmpl, struct net *net) fib_rules_register(const struct fib_rules_ops *tmpl, struct net *net)
{ {
struct fib_rules_ops *ops; struct fib_rules_ops *ops;
int err; int err;
......
...@@ -216,7 +216,7 @@ static void dn_fib_rule_flush_cache(struct fib_rules_ops *ops) ...@@ -216,7 +216,7 @@ static void dn_fib_rule_flush_cache(struct fib_rules_ops *ops)
dn_rt_cache_flush(-1); dn_rt_cache_flush(-1);
} }
static struct fib_rules_ops dn_fib_rules_ops_template = { static const struct fib_rules_ops __net_initdata dn_fib_rules_ops_template = {
.family = FIB_RULES_DECNET, .family = FIB_RULES_DECNET,
.rule_size = sizeof(struct dn_fib_rule), .rule_size = sizeof(struct dn_fib_rule),
.addr_size = sizeof(u16), .addr_size = sizeof(u16),
......
...@@ -245,7 +245,7 @@ static void fib4_rule_flush_cache(struct fib_rules_ops *ops) ...@@ -245,7 +245,7 @@ static void fib4_rule_flush_cache(struct fib_rules_ops *ops)
rt_cache_flush(ops->fro_net, -1); rt_cache_flush(ops->fro_net, -1);
} }
static struct fib_rules_ops fib4_rules_ops_template = { static const struct fib_rules_ops __net_initdata fib4_rules_ops_template = {
.family = FIB_RULES_IPV4, .family = FIB_RULES_IPV4,
.rule_size = sizeof(struct fib4_rule), .rule_size = sizeof(struct fib4_rule),
.addr_size = sizeof(u32), .addr_size = sizeof(u32),
......
...@@ -216,7 +216,7 @@ static int ipmr_rule_fill(struct fib_rule *rule, struct sk_buff *skb, ...@@ -216,7 +216,7 @@ static int ipmr_rule_fill(struct fib_rule *rule, struct sk_buff *skb,
return 0; return 0;
} }
static struct fib_rules_ops ipmr_rules_ops_template = { static const struct fib_rules_ops __net_initdata ipmr_rules_ops_template = {
.family = FIB_RULES_IPMR, .family = FIB_RULES_IPMR,
.rule_size = sizeof(struct ipmr_rule), .rule_size = sizeof(struct ipmr_rule),
.addr_size = sizeof(u32), .addr_size = sizeof(u32),
......
...@@ -237,7 +237,7 @@ static size_t fib6_rule_nlmsg_payload(struct fib_rule *rule) ...@@ -237,7 +237,7 @@ static size_t fib6_rule_nlmsg_payload(struct fib_rule *rule)
+ nla_total_size(16); /* src */ + nla_total_size(16); /* src */
} }
static struct fib_rules_ops fib6_rules_ops_template = { static const struct fib_rules_ops __net_initdata fib6_rules_ops_template = {
.family = FIB_RULES_IPV6, .family = FIB_RULES_IPV6,
.rule_size = sizeof(struct fib6_rule), .rule_size = sizeof(struct fib6_rule),
.addr_size = sizeof(struct in6_addr), .addr_size = sizeof(struct in6_addr),
......
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