* [PATCH nf-next,v2] netfilter: ctnetlink: remove function inline declaration
@ 2015-10-04 19:13 Pablo Neira Ayuso
2015-10-04 19:18 ` kbuild test robot
2015-10-04 23:38 ` kbuild test robot
0 siblings, 2 replies; 4+ messages in thread
From: Pablo Neira Ayuso @ 2015-10-04 19:13 UTC (permalink / raw)
To: netfilter-devel
These functions are part of the control plane, so they are not performance
critical, and more importantly we should let the compiler should decide for us.
No changes wrt. size:
$ size net/netfilter/nf_conntrack_netlink.o
text data bss dec hex filename
19556 180 0 19736 4d18 net/netfilter/nf_conntrack_netlink.o
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
v2: Address problems reported by kbuild test robot. Move ctnetlink_nlmsg_size()
inside the scope of CONFIG_NF_CONNTRACK_EVENTS.
net/netfilter/nf_conntrack_netlink.c | 117 ++++++++++++++---------------------
1 file changed, 48 insertions(+), 69 deletions(-)
diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c
index eb67bf8..4496089 100644
--- a/net/netfilter/nf_conntrack_netlink.c
+++ b/net/netfilter/nf_conntrack_netlink.c
@@ -4,7 +4,7 @@
* (C) 2001 by Jay Schulist <jschlst@samba.org>
* (C) 2002-2006 by Harald Welte <laforge@gnumonks.org>
* (C) 2003 by Patrick Mchardy <kaber@trash.net>
- * (C) 2005-2012 by Pablo Neira Ayuso <pablo@netfilter.org>
+ * (C) 2005-2015 by Pablo Neira Ayuso <pablo@netfilter.org>
*
* Initial connection tracking via netlink development funded and
* generally made possible by Network Robots, Inc. (www.networkrobots.com)
@@ -58,10 +58,9 @@ MODULE_LICENSE("GPL");
static char __initdata version[] = "0.93";
-static inline int
-ctnetlink_dump_tuples_proto(struct sk_buff *skb,
- const struct nf_conntrack_tuple *tuple,
- struct nf_conntrack_l4proto *l4proto)
+static int ctnetlink_dump_tuples_proto(struct sk_buff *skb,
+ const struct nf_conntrack_tuple *tuple,
+ struct nf_conntrack_l4proto *l4proto)
{
int ret = 0;
struct nlattr *nest_parms;
@@ -83,10 +82,9 @@ nla_put_failure:
return -1;
}
-static inline int
-ctnetlink_dump_tuples_ip(struct sk_buff *skb,
- const struct nf_conntrack_tuple *tuple,
- struct nf_conntrack_l3proto *l3proto)
+static int ctnetlink_dump_tuples_ip(struct sk_buff *skb,
+ const struct nf_conntrack_tuple *tuple,
+ struct nf_conntrack_l3proto *l3proto)
{
int ret = 0;
struct nlattr *nest_parms;
@@ -106,9 +104,8 @@ nla_put_failure:
return -1;
}
-static int
-ctnetlink_dump_tuples(struct sk_buff *skb,
- const struct nf_conntrack_tuple *tuple)
+static int ctnetlink_dump_tuples(struct sk_buff *skb,
+ const struct nf_conntrack_tuple *tuple)
{
int ret;
struct nf_conntrack_l3proto *l3proto;
@@ -127,9 +124,8 @@ ctnetlink_dump_tuples(struct sk_buff *skb,
return ret;
}
-static inline int
-ctnetlink_dump_zone_id(struct sk_buff *skb, int attrtype,
- const struct nf_conntrack_zone *zone, int dir)
+static int ctnetlink_dump_zone_id(struct sk_buff *skb, int attrtype,
+ const struct nf_conntrack_zone *zone, int dir)
{
if (zone->id == NF_CT_DEFAULT_ZONE_ID || zone->dir != dir)
return 0;
@@ -141,8 +137,7 @@ nla_put_failure:
return -1;
}
-static inline int
-ctnetlink_dump_status(struct sk_buff *skb, const struct nf_conn *ct)
+static int ctnetlink_dump_status(struct sk_buff *skb, const struct nf_conn *ct)
{
if (nla_put_be32(skb, CTA_STATUS, htonl(ct->status)))
goto nla_put_failure;
@@ -152,8 +147,7 @@ nla_put_failure:
return -1;
}
-static inline int
-ctnetlink_dump_timeout(struct sk_buff *skb, const struct nf_conn *ct)
+static int ctnetlink_dump_timeout(struct sk_buff *skb, const struct nf_conn *ct)
{
long timeout = ((long)ct->timeout.expires - (long)jiffies) / HZ;
@@ -168,8 +162,7 @@ nla_put_failure:
return -1;
}
-static inline int
-ctnetlink_dump_protoinfo(struct sk_buff *skb, struct nf_conn *ct)
+static int ctnetlink_dump_protoinfo(struct sk_buff *skb, struct nf_conn *ct)
{
struct nf_conntrack_l4proto *l4proto;
struct nlattr *nest_proto;
@@ -193,7 +186,7 @@ nla_put_failure:
return -1;
}
-static inline int
+static int
ctnetlink_dump_helpinfo(struct sk_buff *skb, const struct nf_conn *ct)
{
struct nlattr *nest_helper;
@@ -300,8 +293,7 @@ nla_put_failure:
}
#ifdef CONFIG_NF_CONNTRACK_MARK
-static inline int
-ctnetlink_dump_mark(struct sk_buff *skb, const struct nf_conn *ct)
+static int ctnetlink_dump_mark(struct sk_buff *skb, const struct nf_conn *ct)
{
if (nla_put_be32(skb, CTA_MARK, htonl(ct->mark)))
goto nla_put_failure;
@@ -315,8 +307,7 @@ nla_put_failure:
#endif
#ifdef CONFIG_NF_CONNTRACK_SECMARK
-static inline int
-ctnetlink_dump_secctx(struct sk_buff *skb, const struct nf_conn *ct)
+static int ctnetlink_dump_secctx(struct sk_buff *skb, const struct nf_conn *ct)
{
struct nlattr *nest_secctx;
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)
-static inline int
-ctnetlink_dump_master(struct sk_buff *skb, const struct nf_conn *ct)
+static int ctnetlink_dump_master(struct sk_buff *skb, const struct nf_conn *ct)
{
struct nlattr *nest_parms;
@@ -426,8 +416,8 @@ nla_put_failure:
return -1;
}
-static inline int
-ctnetlink_dump_ct_seq_adj(struct sk_buff *skb, const struct nf_conn *ct)
+static int ctnetlink_dump_ct_seq_adj(struct sk_buff *skb,
+ const struct nf_conn *ct)
{
struct nf_conn_seqadj *seqadj = nfct_seqadj(ct);
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;
}
-static inline int
-ctnetlink_dump_id(struct sk_buff *skb, const struct nf_conn *ct)
+static int ctnetlink_dump_id(struct sk_buff *skb, const struct nf_conn *ct)
{
if (nla_put_be32(skb, CTA_ID, htonl((unsigned long)ct)))
goto nla_put_failure;
@@ -457,8 +446,7 @@ nla_put_failure:
return -1;
}
-static inline int
-ctnetlink_dump_use(struct sk_buff *skb, const struct nf_conn *ct)
+static int 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))))
goto nla_put_failure;
@@ -538,8 +526,7 @@ nla_put_failure:
return -1;
}
-static inline size_t
-ctnetlink_proto_size(const struct nf_conn *ct)
+static size_t ctnetlink_proto_size(const struct nf_conn *ct)
{
struct nf_conntrack_l3proto *l3proto;
struct nf_conntrack_l4proto *l4proto;
@@ -556,8 +543,7 @@ ctnetlink_proto_size(const struct nf_conn *ct)
return len;
}
-static inline size_t
-ctnetlink_acct_size(const struct nf_conn *ct)
+static size_t ctnetlink_acct_size(const struct nf_conn *ct)
{
if (!nf_ct_ext_exist(ct, NF_CT_EXT_ACCT))
return 0;
@@ -567,8 +553,7 @@ ctnetlink_acct_size(const struct nf_conn *ct)
;
}
-static inline int
-ctnetlink_secctx_size(const struct nf_conn *ct)
+static int ctnetlink_secctx_size(const struct nf_conn *ct)
{
#ifdef CONFIG_NF_CONNTRACK_SECMARK
int len, ret;
@@ -584,8 +569,7 @@ ctnetlink_secctx_size(const struct nf_conn *ct)
#endif
}
-static inline size_t
-ctnetlink_timestamp_size(const struct nf_conn *ct)
+static size_t ctnetlink_timestamp_size(const struct nf_conn *ct)
{
#ifdef CONFIG_NF_CONNTRACK_TIMESTAMP
if (!nf_ct_ext_exist(ct, NF_CT_EXT_TSTAMP))
@@ -596,8 +580,8 @@ ctnetlink_timestamp_size(const struct nf_conn *ct)
#endif
}
-static inline size_t
-ctnetlink_nlmsg_size(const struct nf_conn *ct)
+#ifdef CONFIG_NF_CONNTRACK_EVENTS
+static size_t ctnetlink_nlmsg_size(const struct nf_conn *ct)
{
return NLMSG_ALIGN(sizeof(struct nfgenmsg))
+ 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
ctnetlink_conntrack_event(unsigned int events, struct nf_ct_event *item)
{
@@ -891,8 +874,8 @@ out:
return skb->len;
}
-static inline int
-ctnetlink_parse_tuple_ip(struct nlattr *attr, struct nf_conntrack_tuple *tuple)
+static int ctnetlink_parse_tuple_ip(struct nlattr *attr,
+ struct nf_conntrack_tuple *tuple)
{
struct nlattr *tb[CTA_IP_MAX+1];
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 },
};
-static inline int
-ctnetlink_parse_tuple_proto(struct nlattr *attr,
- struct nf_conntrack_tuple *tuple)
+static int ctnetlink_parse_tuple_proto(struct nlattr *attr,
+ struct nf_conntrack_tuple *tuple)
{
struct nlattr *tb[CTA_PROTO_MAX+1];
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 },
};
-static inline int
-ctnetlink_parse_help(const struct nlattr *attr, char **helper_name,
- struct nlattr **helpinfo)
+static int ctnetlink_parse_help(const struct nlattr *attr, char **helper_name,
+ struct nlattr **helpinfo)
{
int err;
struct nlattr *tb[CTA_HELP_MAX+1];
@@ -1465,8 +1446,8 @@ ctnetlink_setup_nat(struct nf_conn *ct, const struct nlattr * const cda[])
#endif
}
-static inline int
-ctnetlink_change_helper(struct nf_conn *ct, const struct nlattr * const cda[])
+static int ctnetlink_change_helper(struct nf_conn *ct,
+ const struct nlattr * const cda[])
{
struct nf_conntrack_helper *helper;
struct nf_conn_help *help = nfct_help(ct);
@@ -1526,8 +1507,8 @@ ctnetlink_change_helper(struct nf_conn *ct, const struct nlattr * const cda[])
return -EOPNOTSUPP;
}
-static inline int
-ctnetlink_change_timeout(struct nf_conn *ct, const struct nlattr * const cda[])
+static int ctnetlink_change_timeout(struct nf_conn *ct,
+ const struct nlattr * const cda[])
{
u_int32_t timeout = ntohl(nla_get_be32(cda[CTA_TIMEOUT]));
@@ -1546,8 +1527,8 @@ static const struct nla_policy protoinfo_policy[CTA_PROTOINFO_MAX+1] = {
[CTA_PROTOINFO_SCTP] = { .type = NLA_NESTED },
};
-static inline int
-ctnetlink_change_protoinfo(struct nf_conn *ct, const struct nlattr * const cda[])
+static int ctnetlink_change_protoinfo(struct nf_conn *ct,
+ const struct nlattr * const cda[])
{
const struct nlattr *attr = cda[CTA_PROTOINFO];
struct nlattr *tb[CTA_PROTOINFO_MAX+1];
@@ -1573,8 +1554,8 @@ static const struct nla_policy seqadj_policy[CTA_SEQADJ_MAX+1] = {
[CTA_SEQADJ_OFFSET_AFTER] = { .type = NLA_U32 },
};
-static inline int
-change_seq_adj(struct nf_ct_seqadj *seq, const struct nlattr * const attr)
+static int change_seq_adj(struct nf_ct_seqadj *seq,
+ const struct nlattr * const attr)
{
int err;
struct nlattr *cda[CTA_SEQADJ_MAX+1];
@@ -2409,10 +2390,9 @@ static struct nfq_ct_hook ctnetlink_nfqueue_hook = {
* EXPECT
***********************************************************************/
-static inline int
-ctnetlink_exp_dump_tuple(struct sk_buff *skb,
- const struct nf_conntrack_tuple *tuple,
- enum ctattr_expect type)
+static int ctnetlink_exp_dump_tuple(struct sk_buff *skb,
+ const struct nf_conntrack_tuple *tuple,
+ enum ctattr_expect type)
{
struct nlattr *nest_parms;
@@ -2429,10 +2409,9 @@ nla_put_failure:
return -1;
}
-static inline int
-ctnetlink_exp_dump_mask(struct sk_buff *skb,
- const struct nf_conntrack_tuple *tuple,
- const struct nf_conntrack_tuple_mask *mask)
+static int ctnetlink_exp_dump_mask(struct sk_buff *skb,
+ const struct nf_conntrack_tuple *tuple,
+ const struct nf_conntrack_tuple_mask *mask)
{
int ret;
struct nf_conntrack_l3proto *l3proto;
--
2.1.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH nf-next,v2] netfilter: ctnetlink: remove function inline declaration
2015-10-04 19:13 [PATCH nf-next,v2] netfilter: ctnetlink: remove function inline declaration Pablo Neira Ayuso
@ 2015-10-04 19:18 ` kbuild test robot
2015-10-04 19:39 ` Pablo Neira Ayuso
2015-10-04 23:38 ` kbuild test robot
1 sibling, 1 reply; 4+ messages in thread
From: kbuild test robot @ 2015-10-04 19:18 UTC (permalink / raw)
To: Pablo Neira Ayuso; +Cc: kbuild-all, netfilter-devel
[-- Attachment #1: Type: text/plain, Size: 2978 bytes --]
Hi Pablo,
[auto build test results on v4.3-rc4 -- if it's inappropriate base, please ignore]
config: i386-defconfig (attached as .config)
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
All warnings (new ones prefixed by >>):
>> net/netfilter/nf_conntrack_netlink.c:529:15: warning: 'ctnetlink_proto_size' defined but not used [-Wunused-function]
static size_t ctnetlink_proto_size(const struct nf_conn *ct)
^
>> net/netfilter/nf_conntrack_netlink.c:546:15: warning: 'ctnetlink_acct_size' defined but not used [-Wunused-function]
static size_t ctnetlink_acct_size(const struct nf_conn *ct)
^
>> net/netfilter/nf_conntrack_netlink.c:556:12: warning: 'ctnetlink_secctx_size' defined but not used [-Wunused-function]
static int ctnetlink_secctx_size(const struct nf_conn *ct)
^
>> net/netfilter/nf_conntrack_netlink.c:572:15: warning: 'ctnetlink_timestamp_size' defined but not used [-Wunused-function]
static size_t ctnetlink_timestamp_size(const struct nf_conn *ct)
^
vim +/ctnetlink_proto_size +529 net/netfilter/nf_conntrack_netlink.c
523 nlmsg_failure:
524 nla_put_failure:
525 nlmsg_cancel(skb, nlh);
526 return -1;
527 }
528
> 529 static size_t ctnetlink_proto_size(const struct nf_conn *ct)
530 {
531 struct nf_conntrack_l3proto *l3proto;
532 struct nf_conntrack_l4proto *l4proto;
533 size_t len = 0;
534
535 rcu_read_lock();
536 l3proto = __nf_ct_l3proto_find(nf_ct_l3num(ct));
537 len += l3proto->nla_size;
538
539 l4proto = __nf_ct_l4proto_find(nf_ct_l3num(ct), nf_ct_protonum(ct));
540 len += l4proto->nla_size;
541 rcu_read_unlock();
542
543 return len;
544 }
545
> 546 static size_t ctnetlink_acct_size(const struct nf_conn *ct)
547 {
548 if (!nf_ct_ext_exist(ct, NF_CT_EXT_ACCT))
549 return 0;
550 return 2 * nla_total_size(0) /* CTA_COUNTERS_ORIG|REPL */
551 + 2 * nla_total_size(sizeof(uint64_t)) /* CTA_COUNTERS_PACKETS */
552 + 2 * nla_total_size(sizeof(uint64_t)) /* CTA_COUNTERS_BYTES */
553 ;
554 }
555
> 556 static int ctnetlink_secctx_size(const struct nf_conn *ct)
557 {
558 #ifdef CONFIG_NF_CONNTRACK_SECMARK
559 int len, ret;
560
561 ret = security_secid_to_secctx(ct->secmark, NULL, &len);
562 if (ret)
563 return 0;
564
565 return nla_total_size(0) /* CTA_SECCTX */
566 + nla_total_size(sizeof(char) * len); /* CTA_SECCTX_NAME */
567 #else
568 return 0;
569 #endif
570 }
571
> 572 static size_t ctnetlink_timestamp_size(const struct nf_conn *ct)
573 {
574 #ifdef CONFIG_NF_CONNTRACK_TIMESTAMP
575 if (!nf_ct_ext_exist(ct, NF_CT_EXT_TSTAMP))
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 23761 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH nf-next,v2] netfilter: ctnetlink: remove function inline declaration
2015-10-04 19:18 ` kbuild test robot
@ 2015-10-04 19:39 ` Pablo Neira Ayuso
0 siblings, 0 replies; 4+ messages in thread
From: Pablo Neira Ayuso @ 2015-10-04 19:39 UTC (permalink / raw)
To: kbuild test robot; +Cc: kbuild-all, netfilter-devel
On Mon, Oct 05, 2015 at 03:18:04AM +0800, kbuild test robot wrote:
> Hi Pablo,
>
> [auto build test results on v4.3-rc4 -- if it's inappropriate base, please ignore]
>
> config: i386-defconfig (attached as .config)
> reproduce:
> # save the attached .config to linux build tree
> make ARCH=i386
>
> All warnings (new ones prefixed by >>):
>
> >> net/netfilter/nf_conntrack_netlink.c:529:15: warning: 'ctnetlink_proto_size' defined but not used [-Wunused-function]
> static size_t ctnetlink_proto_size(const struct nf_conn *ct)
> ^
> >> net/netfilter/nf_conntrack_netlink.c:546:15: warning: 'ctnetlink_acct_size' defined but not used [-Wunused-function]
> static size_t ctnetlink_acct_size(const struct nf_conn *ct)
> ^
> >> net/netfilter/nf_conntrack_netlink.c:556:12: warning: 'ctnetlink_secctx_size' defined but not used [-Wunused-function]
> static int ctnetlink_secctx_size(const struct nf_conn *ct)
> ^
> >> net/netfilter/nf_conntrack_netlink.c:572:15: warning: 'ctnetlink_timestamp_size' defined but not used [-Wunused-function]
> static size_t ctnetlink_timestamp_size(const struct nf_conn *ct)
> ^
>
> vim +/ctnetlink_proto_size +529 net/netfilter/nf_conntrack_netlink.c
>
> 523 nlmsg_failure:
> 524 nla_put_failure:
> 525 nlmsg_cancel(skb, nlh);
> 526 return -1;
> 527 }
> 528
> > 529 static size_t ctnetlink_proto_size(const struct nf_conn *ct)
Argh.
I'm going to stop and give a closer look to this. Sorry.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH nf-next,v2] netfilter: ctnetlink: remove function inline declaration
2015-10-04 19:13 [PATCH nf-next,v2] netfilter: ctnetlink: remove function inline declaration Pablo Neira Ayuso
2015-10-04 19:18 ` kbuild test robot
@ 2015-10-04 23:38 ` kbuild test robot
1 sibling, 0 replies; 4+ messages in thread
From: kbuild test robot @ 2015-10-04 23:38 UTC (permalink / raw)
To: Pablo Neira Ayuso; +Cc: kbuild-all, netfilter-devel
[-- Attachment #1: Type: text/plain, Size: 2996 bytes --]
Hi Pablo,
[auto build test results on v4.3-rc4 -- if it's inappropriate base, please ignore]
config: x86_64-randconfig-s1-10050704 (attached as .config)
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All warnings (new ones prefixed by >>):
>> net/netfilter/nf_conntrack_netlink.c:339:12: warning: 'ctnetlink_label_size' defined but not used [-Wunused-function]
static int ctnetlink_label_size(const struct nf_conn *ct)
^
net/netfilter/nf_conntrack_netlink.c:546:15: warning: 'ctnetlink_acct_size' defined but not used [-Wunused-function]
static size_t ctnetlink_acct_size(const struct nf_conn *ct)
^
net/netfilter/nf_conntrack_netlink.c:572:15: warning: 'ctnetlink_timestamp_size' defined but not used [-Wunused-function]
static size_t ctnetlink_timestamp_size(const struct nf_conn *ct)
^
vim +/ctnetlink_label_size +339 net/netfilter/nf_conntrack_netlink.c
1cc63249 Eric Paris 2010-10-13 323 goto nla_put_failure;
37fccd85 Pablo Neira Ayuso 2007-12-17 324
cc1eb431 David S. Miller 2012-04-01 325 if (nla_put_string(skb, CTA_SECCTX_NAME, secctx))
cc1eb431 David S. Miller 2012-04-01 326 goto nla_put_failure;
1cc63249 Eric Paris 2010-10-13 327 nla_nest_end(skb, nest_secctx);
1cc63249 Eric Paris 2010-10-13 328
1cc63249 Eric Paris 2010-10-13 329 ret = 0;
37fccd85 Pablo Neira Ayuso 2007-12-17 330 nla_put_failure:
1cc63249 Eric Paris 2010-10-13 331 security_release_secctx(secctx, len);
1cc63249 Eric Paris 2010-10-13 332 return ret;
37fccd85 Pablo Neira Ayuso 2007-12-17 333 }
37fccd85 Pablo Neira Ayuso 2007-12-17 334 #else
1cc63249 Eric Paris 2010-10-13 335 #define ctnetlink_dump_secctx(a, b) (0)
37fccd85 Pablo Neira Ayuso 2007-12-17 336 #endif
37fccd85 Pablo Neira Ayuso 2007-12-17 337
0ceabd83 Florian Westphal 2013-01-11 338 #ifdef CONFIG_NF_CONNTRACK_LABELS
0ceabd83 Florian Westphal 2013-01-11 @339 static int ctnetlink_label_size(const struct nf_conn *ct)
0ceabd83 Florian Westphal 2013-01-11 340 {
0ceabd83 Florian Westphal 2013-01-11 341 struct nf_conn_labels *labels = nf_ct_labels_find(ct);
0ceabd83 Florian Westphal 2013-01-11 342
0ceabd83 Florian Westphal 2013-01-11 343 if (!labels)
0ceabd83 Florian Westphal 2013-01-11 344 return 0;
0ceabd83 Florian Westphal 2013-01-11 345 return nla_total_size(labels->words * sizeof(long));
0ceabd83 Florian Westphal 2013-01-11 346 }
0ceabd83 Florian Westphal 2013-01-11 347
:::::: The code at line 339 was first introduced by commit
:::::: 0ceabd83875b72a29f33db4ab703d6ba40ea4c58 netfilter: ctnetlink: deliver labels to userspace
:::::: TO: Florian Westphal <fw@strlen.de>
:::::: CC: Pablo Neira Ayuso <pablo@netfilter.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 25272 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-10-04 23:39 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-04 19:13 [PATCH nf-next,v2] netfilter: ctnetlink: remove function inline declaration Pablo Neira Ayuso
2015-10-04 19:18 ` kbuild test robot
2015-10-04 19:39 ` Pablo Neira Ayuso
2015-10-04 23:38 ` kbuild test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).