Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

netfilter: uapi: correct UNTRACKED conntrack state bit number

nft_ct exposes this bit to userspace. This used to be

#define NF_CT_STATE_UNTRACKED_BIT (1 << (IP_CT_NUMBER + 1))
(IP_CT_NUMBER is 5, so this was 0x40)

.. but this got changed to 8 (0x100) when the untracked object got removed.
Replace this with a literal 6 to prevent further incompatible changes
in case IP_CT_NUMBER ever increases.

Fixes: cc41c84b7e7f2 ("netfilter: kill the fake untracked conntrack objects")
Reported-by: Li Shuang <shuali@redhat.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>

authored by

Florian Westphal and committed by
Pablo Neira Ayuso
4c82fd0a 24c0df82

+1 -1
+1 -1
include/uapi/linux/netfilter/nf_conntrack_common.h
··· 36 36 37 37 #define NF_CT_STATE_INVALID_BIT (1 << 0) 38 38 #define NF_CT_STATE_BIT(ctinfo) (1 << ((ctinfo) % IP_CT_IS_REPLY + 1)) 39 - #define NF_CT_STATE_UNTRACKED_BIT (1 << (IP_CT_UNTRACKED + 1)) 39 + #define NF_CT_STATE_UNTRACKED_BIT (1 << 6) 40 40 41 41 /* Bitset representing status of connection. */ 42 42 enum ip_conntrack_status {