forked from Minki/linux
netfilter: ctnetlink: remove unnecessary inlining
Many of these functions are called from control plane path. Move ctnetlink_nlmsg_size() under CONFIG_NF_CONNTRACK_EVENTS to avoid a compilation warning when CONFIG_NF_CONNTRACK_EVENTS=n. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
d7591f0c41
commit
4054ff4545
@ -58,10 +58,9 @@ MODULE_LICENSE("GPL");
|
|||||||
|
|
||||||
static char __initdata version[] = "0.93";
|
static char __initdata version[] = "0.93";
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_dump_tuples_proto(struct sk_buff *skb,
|
||||||
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)
|
||||||
struct nf_conntrack_l4proto *l4proto)
|
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
struct nlattr *nest_parms;
|
struct nlattr *nest_parms;
|
||||||
@ -83,10 +82,9 @@ nla_put_failure:
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_dump_tuples_ip(struct sk_buff *skb,
|
||||||
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)
|
||||||
struct nf_conntrack_l3proto *l3proto)
|
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
struct nlattr *nest_parms;
|
struct nlattr *nest_parms;
|
||||||
@ -106,9 +104,8 @@ nla_put_failure:
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int ctnetlink_dump_tuples(struct sk_buff *skb,
|
||||||
ctnetlink_dump_tuples(struct sk_buff *skb,
|
const struct nf_conntrack_tuple *tuple)
|
||||||
const struct nf_conntrack_tuple *tuple)
|
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
struct nf_conntrack_l3proto *l3proto;
|
struct nf_conntrack_l3proto *l3proto;
|
||||||
@ -127,9 +124,8 @@ ctnetlink_dump_tuples(struct sk_buff *skb,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_dump_zone_id(struct sk_buff *skb, int attrtype,
|
||||||
ctnetlink_dump_zone_id(struct sk_buff *skb, int attrtype,
|
const struct nf_conntrack_zone *zone, int dir)
|
||||||
const struct nf_conntrack_zone *zone, int dir)
|
|
||||||
{
|
{
|
||||||
if (zone->id == NF_CT_DEFAULT_ZONE_ID || zone->dir != dir)
|
if (zone->id == NF_CT_DEFAULT_ZONE_ID || zone->dir != dir)
|
||||||
return 0;
|
return 0;
|
||||||
@ -141,8 +137,7 @@ nla_put_failure:
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_dump_status(struct sk_buff *skb, const struct nf_conn *ct)
|
||||||
ctnetlink_dump_status(struct sk_buff *skb, const struct nf_conn *ct)
|
|
||||||
{
|
{
|
||||||
if (nla_put_be32(skb, CTA_STATUS, htonl(ct->status)))
|
if (nla_put_be32(skb, CTA_STATUS, htonl(ct->status)))
|
||||||
goto nla_put_failure;
|
goto nla_put_failure;
|
||||||
@ -152,8 +147,7 @@ nla_put_failure:
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_dump_timeout(struct sk_buff *skb, const struct nf_conn *ct)
|
||||||
ctnetlink_dump_timeout(struct sk_buff *skb, const struct nf_conn *ct)
|
|
||||||
{
|
{
|
||||||
long timeout = ((long)ct->timeout.expires - (long)jiffies) / HZ;
|
long timeout = ((long)ct->timeout.expires - (long)jiffies) / HZ;
|
||||||
|
|
||||||
@ -168,8 +162,7 @@ nla_put_failure:
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_dump_protoinfo(struct sk_buff *skb, struct nf_conn *ct)
|
||||||
ctnetlink_dump_protoinfo(struct sk_buff *skb, struct nf_conn *ct)
|
|
||||||
{
|
{
|
||||||
struct nf_conntrack_l4proto *l4proto;
|
struct nf_conntrack_l4proto *l4proto;
|
||||||
struct nlattr *nest_proto;
|
struct nlattr *nest_proto;
|
||||||
@ -193,8 +186,8 @@ nla_put_failure:
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_dump_helpinfo(struct sk_buff *skb,
|
||||||
ctnetlink_dump_helpinfo(struct sk_buff *skb, const struct nf_conn *ct)
|
const struct nf_conn *ct)
|
||||||
{
|
{
|
||||||
struct nlattr *nest_helper;
|
struct nlattr *nest_helper;
|
||||||
const struct nf_conn_help *help = nfct_help(ct);
|
const struct nf_conn_help *help = nfct_help(ct);
|
||||||
@ -300,8 +293,7 @@ nla_put_failure:
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_NF_CONNTRACK_MARK
|
#ifdef CONFIG_NF_CONNTRACK_MARK
|
||||||
static inline int
|
static int ctnetlink_dump_mark(struct sk_buff *skb, const struct nf_conn *ct)
|
||||||
ctnetlink_dump_mark(struct sk_buff *skb, const struct nf_conn *ct)
|
|
||||||
{
|
{
|
||||||
if (nla_put_be32(skb, CTA_MARK, htonl(ct->mark)))
|
if (nla_put_be32(skb, CTA_MARK, htonl(ct->mark)))
|
||||||
goto nla_put_failure;
|
goto nla_put_failure;
|
||||||
@ -315,8 +307,7 @@ nla_put_failure:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_NF_CONNTRACK_SECMARK
|
#ifdef CONFIG_NF_CONNTRACK_SECMARK
|
||||||
static inline int
|
static int ctnetlink_dump_secctx(struct sk_buff *skb, const struct nf_conn *ct)
|
||||||
ctnetlink_dump_secctx(struct sk_buff *skb, const struct nf_conn *ct)
|
|
||||||
{
|
{
|
||||||
struct nlattr *nest_secctx;
|
struct nlattr *nest_secctx;
|
||||||
int len, ret;
|
int len, ret;
|
||||||
@ -380,8 +371,7 @@ ctnetlink_dump_labels(struct sk_buff *skb, const struct nf_conn *ct)
|
|||||||
|
|
||||||
#define master_tuple(ct) &(ct->master->tuplehash[IP_CT_DIR_ORIGINAL].tuple)
|
#define master_tuple(ct) &(ct->master->tuplehash[IP_CT_DIR_ORIGINAL].tuple)
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_dump_master(struct sk_buff *skb, const struct nf_conn *ct)
|
||||||
ctnetlink_dump_master(struct sk_buff *skb, const struct nf_conn *ct)
|
|
||||||
{
|
{
|
||||||
struct nlattr *nest_parms;
|
struct nlattr *nest_parms;
|
||||||
|
|
||||||
@ -426,8 +416,8 @@ nla_put_failure:
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_dump_ct_seq_adj(struct sk_buff *skb,
|
||||||
ctnetlink_dump_ct_seq_adj(struct sk_buff *skb, const struct nf_conn *ct)
|
const struct nf_conn *ct)
|
||||||
{
|
{
|
||||||
struct nf_conn_seqadj *seqadj = nfct_seqadj(ct);
|
struct nf_conn_seqadj *seqadj = nfct_seqadj(ct);
|
||||||
struct nf_ct_seqadj *seq;
|
struct nf_ct_seqadj *seq;
|
||||||
@ -446,8 +436,7 @@ ctnetlink_dump_ct_seq_adj(struct sk_buff *skb, const struct nf_conn *ct)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_dump_id(struct sk_buff *skb, const struct nf_conn *ct)
|
||||||
ctnetlink_dump_id(struct sk_buff *skb, const struct nf_conn *ct)
|
|
||||||
{
|
{
|
||||||
if (nla_put_be32(skb, CTA_ID, htonl((unsigned long)ct)))
|
if (nla_put_be32(skb, CTA_ID, htonl((unsigned long)ct)))
|
||||||
goto nla_put_failure;
|
goto nla_put_failure;
|
||||||
@ -457,8 +446,7 @@ nla_put_failure:
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_dump_use(struct sk_buff *skb, const struct nf_conn *ct)
|
||||||
ctnetlink_dump_use(struct sk_buff *skb, const struct nf_conn *ct)
|
|
||||||
{
|
{
|
||||||
if (nla_put_be32(skb, CTA_USE, htonl(atomic_read(&ct->ct_general.use))))
|
if (nla_put_be32(skb, CTA_USE, htonl(atomic_read(&ct->ct_general.use))))
|
||||||
goto nla_put_failure;
|
goto nla_put_failure;
|
||||||
@ -538,8 +526,7 @@ nla_put_failure:
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline size_t
|
static size_t ctnetlink_proto_size(const struct nf_conn *ct)
|
||||||
ctnetlink_proto_size(const struct nf_conn *ct)
|
|
||||||
{
|
{
|
||||||
struct nf_conntrack_l3proto *l3proto;
|
struct nf_conntrack_l3proto *l3proto;
|
||||||
struct nf_conntrack_l4proto *l4proto;
|
struct nf_conntrack_l4proto *l4proto;
|
||||||
@ -556,8 +543,7 @@ ctnetlink_proto_size(const struct nf_conn *ct)
|
|||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline size_t
|
static size_t ctnetlink_acct_size(const struct nf_conn *ct)
|
||||||
ctnetlink_acct_size(const struct nf_conn *ct)
|
|
||||||
{
|
{
|
||||||
if (!nf_ct_ext_exist(ct, NF_CT_EXT_ACCT))
|
if (!nf_ct_ext_exist(ct, NF_CT_EXT_ACCT))
|
||||||
return 0;
|
return 0;
|
||||||
@ -567,8 +553,7 @@ ctnetlink_acct_size(const struct nf_conn *ct)
|
|||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_secctx_size(const struct nf_conn *ct)
|
||||||
ctnetlink_secctx_size(const struct nf_conn *ct)
|
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_NF_CONNTRACK_SECMARK
|
#ifdef CONFIG_NF_CONNTRACK_SECMARK
|
||||||
int len, ret;
|
int len, ret;
|
||||||
@ -584,8 +569,7 @@ ctnetlink_secctx_size(const struct nf_conn *ct)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline size_t
|
static size_t ctnetlink_timestamp_size(const struct nf_conn *ct)
|
||||||
ctnetlink_timestamp_size(const struct nf_conn *ct)
|
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_NF_CONNTRACK_TIMESTAMP
|
#ifdef CONFIG_NF_CONNTRACK_TIMESTAMP
|
||||||
if (!nf_ct_ext_exist(ct, NF_CT_EXT_TSTAMP))
|
if (!nf_ct_ext_exist(ct, NF_CT_EXT_TSTAMP))
|
||||||
@ -596,8 +580,8 @@ ctnetlink_timestamp_size(const struct nf_conn *ct)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline size_t
|
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||||
ctnetlink_nlmsg_size(const struct nf_conn *ct)
|
static size_t ctnetlink_nlmsg_size(const struct nf_conn *ct)
|
||||||
{
|
{
|
||||||
return NLMSG_ALIGN(sizeof(struct nfgenmsg))
|
return NLMSG_ALIGN(sizeof(struct nfgenmsg))
|
||||||
+ 3 * nla_total_size(0) /* CTA_TUPLE_ORIG|REPL|MASTER */
|
+ 3 * nla_total_size(0) /* CTA_TUPLE_ORIG|REPL|MASTER */
|
||||||
@ -628,7 +612,6 @@ ctnetlink_nlmsg_size(const struct nf_conn *ct)
|
|||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
|
||||||
static int
|
static int
|
||||||
ctnetlink_conntrack_event(unsigned int events, struct nf_ct_event *item)
|
ctnetlink_conntrack_event(unsigned int events, struct nf_ct_event *item)
|
||||||
{
|
{
|
||||||
@ -891,8 +874,8 @@ out:
|
|||||||
return skb->len;
|
return skb->len;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_parse_tuple_ip(struct nlattr *attr,
|
||||||
ctnetlink_parse_tuple_ip(struct nlattr *attr, struct nf_conntrack_tuple *tuple)
|
struct nf_conntrack_tuple *tuple)
|
||||||
{
|
{
|
||||||
struct nlattr *tb[CTA_IP_MAX+1];
|
struct nlattr *tb[CTA_IP_MAX+1];
|
||||||
struct nf_conntrack_l3proto *l3proto;
|
struct nf_conntrack_l3proto *l3proto;
|
||||||
@ -921,9 +904,8 @@ static const struct nla_policy proto_nla_policy[CTA_PROTO_MAX+1] = {
|
|||||||
[CTA_PROTO_NUM] = { .type = NLA_U8 },
|
[CTA_PROTO_NUM] = { .type = NLA_U8 },
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_parse_tuple_proto(struct nlattr *attr,
|
||||||
ctnetlink_parse_tuple_proto(struct nlattr *attr,
|
struct nf_conntrack_tuple *tuple)
|
||||||
struct nf_conntrack_tuple *tuple)
|
|
||||||
{
|
{
|
||||||
struct nlattr *tb[CTA_PROTO_MAX+1];
|
struct nlattr *tb[CTA_PROTO_MAX+1];
|
||||||
struct nf_conntrack_l4proto *l4proto;
|
struct nf_conntrack_l4proto *l4proto;
|
||||||
@ -1050,9 +1032,8 @@ static const struct nla_policy help_nla_policy[CTA_HELP_MAX+1] = {
|
|||||||
.len = NF_CT_HELPER_NAME_LEN - 1 },
|
.len = NF_CT_HELPER_NAME_LEN - 1 },
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_parse_help(const struct nlattr *attr, char **helper_name,
|
||||||
ctnetlink_parse_help(const struct nlattr *attr, char **helper_name,
|
struct nlattr **helpinfo)
|
||||||
struct nlattr **helpinfo)
|
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
struct nlattr *tb[CTA_HELP_MAX+1];
|
struct nlattr *tb[CTA_HELP_MAX+1];
|
||||||
@ -1463,8 +1444,8 @@ ctnetlink_setup_nat(struct nf_conn *ct, const struct nlattr * const cda[])
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_change_helper(struct nf_conn *ct,
|
||||||
ctnetlink_change_helper(struct nf_conn *ct, const struct nlattr * const cda[])
|
const struct nlattr * const cda[])
|
||||||
{
|
{
|
||||||
struct nf_conntrack_helper *helper;
|
struct nf_conntrack_helper *helper;
|
||||||
struct nf_conn_help *help = nfct_help(ct);
|
struct nf_conn_help *help = nfct_help(ct);
|
||||||
@ -1524,8 +1505,8 @@ ctnetlink_change_helper(struct nf_conn *ct, const struct nlattr * const cda[])
|
|||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_change_timeout(struct nf_conn *ct,
|
||||||
ctnetlink_change_timeout(struct nf_conn *ct, const struct nlattr * const cda[])
|
const struct nlattr * const cda[])
|
||||||
{
|
{
|
||||||
u_int32_t timeout = ntohl(nla_get_be32(cda[CTA_TIMEOUT]));
|
u_int32_t timeout = ntohl(nla_get_be32(cda[CTA_TIMEOUT]));
|
||||||
|
|
||||||
@ -1544,8 +1525,8 @@ static const struct nla_policy protoinfo_policy[CTA_PROTOINFO_MAX+1] = {
|
|||||||
[CTA_PROTOINFO_SCTP] = { .type = NLA_NESTED },
|
[CTA_PROTOINFO_SCTP] = { .type = NLA_NESTED },
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_change_protoinfo(struct nf_conn *ct,
|
||||||
ctnetlink_change_protoinfo(struct nf_conn *ct, const struct nlattr * const cda[])
|
const struct nlattr * const cda[])
|
||||||
{
|
{
|
||||||
const struct nlattr *attr = cda[CTA_PROTOINFO];
|
const struct nlattr *attr = cda[CTA_PROTOINFO];
|
||||||
struct nlattr *tb[CTA_PROTOINFO_MAX+1];
|
struct nlattr *tb[CTA_PROTOINFO_MAX+1];
|
||||||
@ -1571,8 +1552,8 @@ static const struct nla_policy seqadj_policy[CTA_SEQADJ_MAX+1] = {
|
|||||||
[CTA_SEQADJ_OFFSET_AFTER] = { .type = NLA_U32 },
|
[CTA_SEQADJ_OFFSET_AFTER] = { .type = NLA_U32 },
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline int
|
static int change_seq_adj(struct nf_ct_seqadj *seq,
|
||||||
change_seq_adj(struct nf_ct_seqadj *seq, const struct nlattr * const attr)
|
const struct nlattr * const attr)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
struct nlattr *cda[CTA_SEQADJ_MAX+1];
|
struct nlattr *cda[CTA_SEQADJ_MAX+1];
|
||||||
@ -2405,10 +2386,9 @@ static struct nfnl_ct_hook ctnetlink_glue_hook = {
|
|||||||
* EXPECT
|
* EXPECT
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_exp_dump_tuple(struct sk_buff *skb,
|
||||||
ctnetlink_exp_dump_tuple(struct sk_buff *skb,
|
const struct nf_conntrack_tuple *tuple,
|
||||||
const struct nf_conntrack_tuple *tuple,
|
enum ctattr_expect type)
|
||||||
enum ctattr_expect type)
|
|
||||||
{
|
{
|
||||||
struct nlattr *nest_parms;
|
struct nlattr *nest_parms;
|
||||||
|
|
||||||
@ -2425,10 +2405,9 @@ nla_put_failure:
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int
|
static int ctnetlink_exp_dump_mask(struct sk_buff *skb,
|
||||||
ctnetlink_exp_dump_mask(struct sk_buff *skb,
|
const struct nf_conntrack_tuple *tuple,
|
||||||
const struct nf_conntrack_tuple *tuple,
|
const struct nf_conntrack_tuple_mask *mask)
|
||||||
const struct nf_conntrack_tuple_mask *mask)
|
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
struct nf_conntrack_l3proto *l3proto;
|
struct nf_conntrack_l3proto *l3proto;
|
||||||
|
Loading…
Reference in New Issue
Block a user