From: kernel test robot <lkp@intel.com>
To: Pablo Neira Ayuso <pablo@netfilter.org>
Cc: oe-kbuild-all@lists.linux.dev, netfilter-devel@vger.kernel.org,
coreteam@netfilter.org, Florian Westphal <fw@strlen.de>
Subject: [netfilter-nf:testing 7/9] net/sched/act_connmark.c:98:12: error: invalid storage class for function 'tcf_connmark_init'
Date: Fri, 20 Mar 2026 20:07:57 +0100 [thread overview]
Message-ID: <202603201919.Sx7L8wtQ-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf.git testing
head: b1bad43d8b00ab31c8f93145a4c8db1567f0d2fe
commit: 20d564bba6b3806c26498061299a88330561efa5 [7/9] netfilter: ctnetlink: ensure safe access to master conntrack
config: x86_64-rhel-9.4-kselftests (https://download.01.org/0day-ci/archive/20260320/202603201919.Sx7L8wtQ-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260320/202603201919.Sx7L8wtQ-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202603201919.Sx7L8wtQ-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
In file included from net/sched/act_connmark.c:26:
include/net/netfilter/nf_conntrack_core.h: In function 'lockdep_nfct_expect_lock_not_held':
include/net/netfilter/nf_conntrack_core.h:111: error: unterminated argument list invoking macro "WARN_ON_ONCE"
111 | #endif /* _NF_CONNTRACK_CORE_H */
include/net/netfilter/nf_conntrack_core.h:90:17: error: 'WARN_ON_ONCE' undeclared (first use in this function)
90 | WARN_ON_ONCE(lockdep_is_held(&nf_conntrack_expect_lock);
| ^~~~~~~~~~~~
include/net/netfilter/nf_conntrack_core.h:90:17: note: each undeclared identifier is reported only once for each function it appears in
include/net/netfilter/nf_conntrack_core.h:90:29: error: expected ';' before 'static'
90 | WARN_ON_ONCE(lockdep_is_held(&nf_conntrack_expect_lock);
| ^
| ;
>> net/sched/act_connmark.c:98:12: error: invalid storage class for function 'tcf_connmark_init'
98 | static int tcf_connmark_init(struct net *net, struct nlattr *nla,
| ^~~~~~~~~~~~~~~~~
net/sched/act_connmark.c: In function 'tcf_connmark_init':
>> net/sched/act_connmark.c:103:53: error: 'act_connmark_ops' undeclared (first use in this function); did you mean 'tcf_connmark_act'?
103 | struct tc_action_net *tn = net_generic(net, act_connmark_ops.net_id);
| ^~~~~~~~~~~~~~~~
| tcf_connmark_act
net/sched/act_connmark.c: In function 'lockdep_nfct_expect_lock_not_held':
>> net/sched/act_connmark.c:192:19: error: invalid storage class for function 'tcf_connmark_dump'
192 | static inline int tcf_connmark_dump(struct sk_buff *skb, struct tc_action *a,
| ^~~~~~~~~~~~~~~~~
>> net/sched/act_connmark.c:229:13: error: invalid storage class for function 'tcf_connmark_cleanup'
229 | static void tcf_connmark_cleanup(struct tc_action *a)
| ^~~~~~~~~~~~~~~~~~~~
>> net/sched/act_connmark.c:243:33: error: initializer element is not constant
243 | .act = tcf_connmark_act,
| ^~~~~~~~~~~~~~~~
net/sched/act_connmark.c:243:33: note: (near initialization for 'act_connmark_ops.act')
net/sched/act_connmark.c:244:33: error: initializer element is not constant
244 | .dump = tcf_connmark_dump,
| ^~~~~~~~~~~~~~~~~
net/sched/act_connmark.c:244:33: note: (near initialization for 'act_connmark_ops.dump')
net/sched/act_connmark.c:245:33: error: initializer element is not constant
245 | .init = tcf_connmark_init,
| ^~~~~~~~~~~~~~~~~
net/sched/act_connmark.c:245:33: note: (near initialization for 'act_connmark_ops.init')
net/sched/act_connmark.c:246:33: error: initializer element is not constant
246 | .cleanup = tcf_connmark_cleanup,
| ^~~~~~~~~~~~~~~~~~~~
net/sched/act_connmark.c:246:33: note: (near initialization for 'act_connmark_ops.cleanup')
>> net/sched/act_connmark.c:251:23: error: invalid storage class for function 'connmark_init_net'
251 | static __net_init int connmark_init_net(struct net *net)
| ^~~~~~~~~~~~~~~~~
>> net/sched/act_connmark.c:258:24: error: invalid storage class for function 'connmark_exit_net'
258 | static void __net_exit connmark_exit_net(struct list_head *net_list)
| ^~~~~~~~~~~~~~~~~
net/sched/act_connmark.c:264:17: error: initializer element is not constant
264 | .init = connmark_init_net,
| ^~~~~~~~~~~~~~~~~
net/sched/act_connmark.c:264:17: note: (near initialization for 'connmark_net_ops.init')
net/sched/act_connmark.c:265:23: error: initializer element is not constant
265 | .exit_batch = connmark_exit_net,
| ^~~~~~~~~~~~~~~~~
net/sched/act_connmark.c:265:23: note: (near initialization for 'connmark_net_ops.exit_batch')
>> net/sched/act_connmark.c:270:19: error: invalid storage class for function 'connmark_init_module'
270 | static int __init connmark_init_module(void)
| ^~~~~~~~~~~~~~~~~~~~
>> net/sched/act_connmark.c:275:20: error: invalid storage class for function 'connmark_cleanup_module'
275 | static void __exit connmark_cleanup_module(void)
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from net/sched/act_connmark.c:9:
include/linux/module.h:132:49: error: invalid storage class for function '__inittest'
132 | static inline initcall_t __maybe_unused __inittest(void) \
| ^~~~~~~~~~
net/sched/act_connmark.c:280:1: note: in expansion of macro 'module_init'
280 | module_init(connmark_init_module);
| ^~~~~~~~~~~
>> net/sched/act_connmark.c:280:1: warning: 'alias' attribute ignored [-Wattributes]
include/linux/module.h:140:49: error: invalid storage class for function '__exittest'
140 | static inline exitcall_t __maybe_unused __exittest(void) \
| ^~~~~~~~~~
net/sched/act_connmark.c:281:1: note: in expansion of macro 'module_exit'
281 | module_exit(connmark_cleanup_module);
| ^~~~~~~~~~~
net/sched/act_connmark.c:281:1: warning: 'alias' attribute ignored [-Wattributes]
>> net/sched/act_connmark.c:284:1: error: expected declaration or statement at end of input
284 | MODULE_LICENSE("GPL");
| ^~~~~~~~~~~~~~
vim +/tcf_connmark_init +98 net/sched/act_connmark.c
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 97
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 @98 static int tcf_connmark_init(struct net *net, struct nlattr *nla,
a85a970af265f1 WANG Cong 2016-07-25 99 struct nlattr *est, struct tc_action **a,
abbb0d33632ce9 Vlad Buslov 2019-10-30 100 struct tcf_proto *tp, u32 flags,
589dad6d71a72d Alexander Aring 2018-02-15 101 struct netlink_ext_ack *extack)
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 102 {
acd0a7ab6334f3 Zhengchao Shao 2022-09-08 @103 struct tc_action_net *tn = net_generic(net, act_connmark_ops.net_id);
288864effe3388 Pedro Tammela 2023-02-14 104 struct tcf_connmark_parms *nparms, *oparms;
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 105 struct nlattr *tb[TCA_CONNMARK_MAX + 1];
695176bfe5dec2 Cong Wang 2021-07-29 106 bool bind = flags & TCA_ACT_FLAGS_BIND;
c53075ea5d3c44 Davide Caratti 2019-03-20 107 struct tcf_chain *goto_ch = NULL;
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 108 struct tcf_connmark_info *ci;
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 109 struct tc_connmark *parm;
c53075ea5d3c44 Davide Caratti 2019-03-20 110 int ret = 0, err;
7be8ef2cdbfe41 Dmytro Linkin 2019-08-01 111 u32 index;
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 112
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 113 if (!nla)
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 114 return -EINVAL;
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 115
8cb081746c031f Johannes Berg 2019-04-26 116 ret = nla_parse_nested_deprecated(tb, TCA_CONNMARK_MAX, nla,
8cb081746c031f Johannes Berg 2019-04-26 117 connmark_policy, NULL);
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 118 if (ret < 0)
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 119 return ret;
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 120
52491c7607c552 Etienne Noss 2017-03-10 121 if (!tb[TCA_CONNMARK_PARMS])
52491c7607c552 Etienne Noss 2017-03-10 122 return -EINVAL;
52491c7607c552 Etienne Noss 2017-03-10 123
bf4afc53b77aea Linus Torvalds 2026-02-21 124 nparms = kzalloc_obj(*nparms);
288864effe3388 Pedro Tammela 2023-02-14 125 if (!nparms)
288864effe3388 Pedro Tammela 2023-02-14 126 return -ENOMEM;
288864effe3388 Pedro Tammela 2023-02-14 127
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 128 parm = nla_data(tb[TCA_CONNMARK_PARMS]);
7be8ef2cdbfe41 Dmytro Linkin 2019-08-01 129 index = parm->index;
7be8ef2cdbfe41 Dmytro Linkin 2019-08-01 130 ret = tcf_idr_check_alloc(tn, &index, a, bind);
0190c1d452a91c Vlad Buslov 2018-07-05 131 if (!ret) {
288864effe3388 Pedro Tammela 2023-02-14 132 ret = tcf_idr_create_from_flags(tn, index, est, a,
288864effe3388 Pedro Tammela 2023-02-14 133 &act_connmark_ops, bind, flags);
0190c1d452a91c Vlad Buslov 2018-07-05 134 if (ret) {
7be8ef2cdbfe41 Dmytro Linkin 2019-08-01 135 tcf_idr_cleanup(tn, index);
288864effe3388 Pedro Tammela 2023-02-14 136 err = ret;
288864effe3388 Pedro Tammela 2023-02-14 137 goto out_free;
0190c1d452a91c Vlad Buslov 2018-07-05 138 }
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 139
a85a970af265f1 WANG Cong 2016-07-25 140 ci = to_connmark(*a);
288864effe3388 Pedro Tammela 2023-02-14 141
288864effe3388 Pedro Tammela 2023-02-14 142 nparms->net = net;
288864effe3388 Pedro Tammela 2023-02-14 143 nparms->zone = parm->zone;
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 144
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 145 ret = ACT_P_CREATED;
0190c1d452a91c Vlad Buslov 2018-07-05 146 } else if (ret > 0) {
a85a970af265f1 WANG Cong 2016-07-25 147 ci = to_connmark(*a);
288864effe3388 Pedro Tammela 2023-02-14 148 if (bind) {
c2a67de9bb5433 Pedro Tammela 2023-12-29 149 err = ACT_P_BOUND;
288864effe3388 Pedro Tammela 2023-02-14 150 goto out_free;
288864effe3388 Pedro Tammela 2023-02-14 151 }
695176bfe5dec2 Cong Wang 2021-07-29 152 if (!(flags & TCA_ACT_FLAGS_REPLACE)) {
288864effe3388 Pedro Tammela 2023-02-14 153 err = -EEXIST;
288864effe3388 Pedro Tammela 2023-02-14 154 goto release_idr;
288864effe3388 Pedro Tammela 2023-02-14 155 }
288864effe3388 Pedro Tammela 2023-02-14 156
288864effe3388 Pedro Tammela 2023-02-14 157 nparms->net = rtnl_dereference(ci->parms)->net;
288864effe3388 Pedro Tammela 2023-02-14 158 nparms->zone = parm->zone;
288864effe3388 Pedro Tammela 2023-02-14 159
288864effe3388 Pedro Tammela 2023-02-14 160 ret = 0;
fb07390463c95e Pedro Tammela 2023-02-27 161 } else {
fb07390463c95e Pedro Tammela 2023-02-27 162 err = ret;
fb07390463c95e Pedro Tammela 2023-02-27 163 goto out_free;
4e8ddd7f1758ca Vlad Buslov 2018-07-05 164 }
288864effe3388 Pedro Tammela 2023-02-14 165
288864effe3388 Pedro Tammela 2023-02-14 166 err = tcf_action_check_ctrlact(parm->action, tp, &goto_ch, extack);
c53075ea5d3c44 Davide Caratti 2019-03-20 167 if (err < 0)
c53075ea5d3c44 Davide Caratti 2019-03-20 168 goto release_idr;
288864effe3388 Pedro Tammela 2023-02-14 169
0d752877705c02 Eric Dumazet 2025-07-09 170 nparms->action = parm->action;
0d752877705c02 Eric Dumazet 2025-07-09 171
506a03aa04deed Cong Wang 2018-08-29 172 spin_lock_bh(&ci->tcf_lock);
c53075ea5d3c44 Davide Caratti 2019-03-20 173 goto_ch = tcf_action_set_ctrlact(*a, parm->action, goto_ch);
288864effe3388 Pedro Tammela 2023-02-14 174 oparms = rcu_replace_pointer(ci->parms, nparms, lockdep_is_held(&ci->tcf_lock));
506a03aa04deed Cong Wang 2018-08-29 175 spin_unlock_bh(&ci->tcf_lock);
288864effe3388 Pedro Tammela 2023-02-14 176
c53075ea5d3c44 Davide Caratti 2019-03-20 177 if (goto_ch)
c53075ea5d3c44 Davide Caratti 2019-03-20 178 tcf_chain_put_by_act(goto_ch);
288864effe3388 Pedro Tammela 2023-02-14 179
288864effe3388 Pedro Tammela 2023-02-14 180 if (oparms)
288864effe3388 Pedro Tammela 2023-02-14 181 kfree_rcu(oparms, rcu);
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 182
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 183 return ret;
288864effe3388 Pedro Tammela 2023-02-14 184
c53075ea5d3c44 Davide Caratti 2019-03-20 185 release_idr:
c53075ea5d3c44 Davide Caratti 2019-03-20 186 tcf_idr_release(*a, bind);
288864effe3388 Pedro Tammela 2023-02-14 187 out_free:
288864effe3388 Pedro Tammela 2023-02-14 188 kfree(nparms);
c53075ea5d3c44 Davide Caratti 2019-03-20 189 return err;
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 190 }
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 191
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 @192 static inline int tcf_connmark_dump(struct sk_buff *skb, struct tc_action *a,
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 193 int bind, int ref)
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 194 {
0d752877705c02 Eric Dumazet 2025-07-09 195 const struct tcf_connmark_info *ci = to_connmark(a);
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 196 unsigned char *b = skb_tail_pointer(skb);
0d752877705c02 Eric Dumazet 2025-07-09 197 const struct tcf_connmark_parms *parms;
62b656e43eaeae Ranganath V N 2025-11-09 198 struct tc_connmark opt;
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 199 struct tcf_t t;
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 200
62b656e43eaeae Ranganath V N 2025-11-09 201 memset(&opt, 0, sizeof(opt));
62b656e43eaeae Ranganath V N 2025-11-09 202
62b656e43eaeae Ranganath V N 2025-11-09 203 opt.index = ci->tcf_index;
62b656e43eaeae Ranganath V N 2025-11-09 204 opt.refcnt = refcount_read(&ci->tcf_refcnt) - ref;
62b656e43eaeae Ranganath V N 2025-11-09 205 opt.bindcnt = atomic_read(&ci->tcf_bindcnt) - bind;
62b656e43eaeae Ranganath V N 2025-11-09 206
0d752877705c02 Eric Dumazet 2025-07-09 207 rcu_read_lock();
0d752877705c02 Eric Dumazet 2025-07-09 208 parms = rcu_dereference(ci->parms);
288864effe3388 Pedro Tammela 2023-02-14 209
0d752877705c02 Eric Dumazet 2025-07-09 210 opt.action = parms->action;
288864effe3388 Pedro Tammela 2023-02-14 211 opt.zone = parms->zone;
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 212 if (nla_put(skb, TCA_CONNMARK_PARMS, sizeof(opt), &opt))
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 213 goto nla_put_failure;
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 214
48d8ee1694dd1a Jamal Hadi Salim 2016-06-06 215 tcf_tm_dump(&t, &ci->tcf_tm);
9854518ea04db3 Nicolas Dichtel 2016-04-26 216 if (nla_put_64bit(skb, TCA_CONNMARK_TM, sizeof(t), &t,
9854518ea04db3 Nicolas Dichtel 2016-04-26 217 TCA_CONNMARK_PAD))
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 218 goto nla_put_failure;
0d752877705c02 Eric Dumazet 2025-07-09 219 rcu_read_unlock();
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 220
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 221 return skb->len;
506a03aa04deed Cong Wang 2018-08-29 222
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 223 nla_put_failure:
0d752877705c02 Eric Dumazet 2025-07-09 224 rcu_read_unlock();
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 225 nlmsg_trim(skb, b);
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 226 return -1;
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 227 }
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 228
288864effe3388 Pedro Tammela 2023-02-14 @229 static void tcf_connmark_cleanup(struct tc_action *a)
288864effe3388 Pedro Tammela 2023-02-14 230 {
288864effe3388 Pedro Tammela 2023-02-14 231 struct tcf_connmark_info *ci = to_connmark(a);
288864effe3388 Pedro Tammela 2023-02-14 232 struct tcf_connmark_parms *parms;
288864effe3388 Pedro Tammela 2023-02-14 233
288864effe3388 Pedro Tammela 2023-02-14 234 parms = rcu_dereference_protected(ci->parms, 1);
288864effe3388 Pedro Tammela 2023-02-14 235 if (parms)
288864effe3388 Pedro Tammela 2023-02-14 236 kfree_rcu(parms, rcu);
288864effe3388 Pedro Tammela 2023-02-14 237 }
288864effe3388 Pedro Tammela 2023-02-14 238
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 239 static struct tc_action_ops act_connmark_ops = {
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 240 .kind = "connmark",
eddd2cf195d6fb Eli Cohen 2019-02-10 241 .id = TCA_ID_CONNMARK,
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 242 .owner = THIS_MODULE,
962ad1f937d864 Jamal Hadi Salim 2018-08-12 @243 .act = tcf_connmark_act,
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 244 .dump = tcf_connmark_dump,
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 245 .init = tcf_connmark_init,
288864effe3388 Pedro Tammela 2023-02-14 246 .cleanup = tcf_connmark_cleanup,
a85a970af265f1 WANG Cong 2016-07-25 247 .size = sizeof(struct tcf_connmark_info),
ddf97ccdd7cb7e WANG Cong 2016-02-22 248 };
241a94abcf465b Michal Koutný 2024-02-01 249 MODULE_ALIAS_NET_ACT("connmark");
ddf97ccdd7cb7e WANG Cong 2016-02-22 250
ddf97ccdd7cb7e WANG Cong 2016-02-22 @251 static __net_init int connmark_init_net(struct net *net)
ddf97ccdd7cb7e WANG Cong 2016-02-22 252 {
acd0a7ab6334f3 Zhengchao Shao 2022-09-08 253 struct tc_action_net *tn = net_generic(net, act_connmark_ops.net_id);
ddf97ccdd7cb7e WANG Cong 2016-02-22 254
981471bd3abf4d Cong Wang 2019-08-25 255 return tc_action_net_init(net, tn, &act_connmark_ops);
ddf97ccdd7cb7e WANG Cong 2016-02-22 256 }
ddf97ccdd7cb7e WANG Cong 2016-02-22 257
039af9c66b9315 Cong Wang 2017-12-11 @258 static void __net_exit connmark_exit_net(struct list_head *net_list)
ddf97ccdd7cb7e WANG Cong 2016-02-22 259 {
acd0a7ab6334f3 Zhengchao Shao 2022-09-08 260 tc_action_net_exit(net_list, act_connmark_ops.net_id);
ddf97ccdd7cb7e WANG Cong 2016-02-22 261 }
ddf97ccdd7cb7e WANG Cong 2016-02-22 262
ddf97ccdd7cb7e WANG Cong 2016-02-22 263 static struct pernet_operations connmark_net_ops = {
ddf97ccdd7cb7e WANG Cong 2016-02-22 264 .init = connmark_init_net,
039af9c66b9315 Cong Wang 2017-12-11 265 .exit_batch = connmark_exit_net,
acd0a7ab6334f3 Zhengchao Shao 2022-09-08 266 .id = &act_connmark_ops.net_id,
ddf97ccdd7cb7e WANG Cong 2016-02-22 267 .size = sizeof(struct tc_action_net),
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 268 };
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 269
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 @270 static int __init connmark_init_module(void)
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 271 {
ddf97ccdd7cb7e WANG Cong 2016-02-22 272 return tcf_register_action(&act_connmark_ops, &connmark_net_ops);
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 273 }
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 274
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 @275 static void __exit connmark_cleanup_module(void)
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 276 {
ddf97ccdd7cb7e WANG Cong 2016-02-22 277 tcf_unregister_action(&act_connmark_ops, &connmark_net_ops);
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 278 }
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 279
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 @280 module_init(connmark_init_module);
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 281 module_exit(connmark_cleanup_module);
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 282 MODULE_AUTHOR("Felix Fietkau <nbd@openwrt.org>");
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 283 MODULE_DESCRIPTION("Connection tracking mark restoring");
22a5dc0e5e3e8f Felix Fietkau 2015-01-18 @284 MODULE_LICENSE("GPL");
:::::: The code at line 98 was first introduced by commit
:::::: 22a5dc0e5e3e8fef804230cd73ed7b0afd4c7bae net: sched: Introduce connmark action
:::::: TO: Felix Fietkau <nbd@openwrt.org>
:::::: CC: David S. Miller <davem@davemloft.net>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2026-03-20 19:08 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-20 19:07 kernel test robot [this message]
2026-03-20 23:41 ` [netfilter-nf:testing 7/9] net/sched/act_connmark.c:98:12: error: invalid storage class for function 'tcf_connmark_init' Pablo Neira Ayuso
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202603201919.Sx7L8wtQ-lkp@intel.com \
--to=lkp@intel.com \
--cc=coreteam@netfilter.org \
--cc=fw@strlen.de \
--cc=netfilter-devel@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=pablo@netfilter.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.