aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/netfilter/nf_conntrack_ecache.h
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2022-02-05 13:00:04 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2022-02-09 11:44:03 +0100
commit8dd8678e42b5a8bbd3e2c49cda76c743318c56b0 (patch)
tree78ababedb6b76293835cfe540805c8dab479e894 /include/net/netfilter/nf_conntrack_ecache.h
parentnetfilter: nft_compat: suppress comment match (diff)
downloadlinux-dev-8dd8678e42b5a8bbd3e2c49cda76c743318c56b0.tar.xz
linux-dev-8dd8678e42b5a8bbd3e2c49cda76c743318c56b0.zip
netfilter: ecache: don't use nf_conn spinlock
For updating eache missed value we can use cmpxchg. This also avoids need to disable BH. kernel robot reported build failure on v1 because not all arches support cmpxchg for u16, so extend this to u32. This doesn't increase struct size, existing padding is used. Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'include/net/netfilter/nf_conntrack_ecache.h')
-rw-r--r--include/net/netfilter/nf_conntrack_ecache.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/net/netfilter/nf_conntrack_ecache.h b/include/net/netfilter/nf_conntrack_ecache.h
index 16bcff809b18..6c4c490a3e34 100644
--- a/include/net/netfilter/nf_conntrack_ecache.h
+++ b/include/net/netfilter/nf_conntrack_ecache.h
@@ -21,10 +21,10 @@ enum nf_ct_ecache_state {
struct nf_conntrack_ecache {
unsigned long cache; /* bitops want long */
- u16 missed; /* missed events */
u16 ctmask; /* bitmask of ct events to be delivered */
u16 expmask; /* bitmask of expect events to be delivered */
enum nf_ct_ecache_state state:8;/* ecache state */
+ u32 missed; /* missed events */
u32 portid; /* netlink portid of destroyer */
};