summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorJamal Hadi Salim <jhs@mojatatu.com>2026-06-10 06:18:39 -0400
committerJakub Kicinski <kuba@kernel.org>2026-06-11 15:04:56 -0700
commitf294fc71c4a0fa4964f6428a1b4e7929c1d83125 (patch)
tree968982d191fcdd9649ced35fa613e7c981af777a /include/linux
parent0b7b378ce6cafbb948786cb6f17f406d94016c8c (diff)
net/sched: cls_flow: Dont expose folded kernel pointers
The flow classifier falls back to addr_fold() for fields that are missing from packet headers. In map mode, userspace controls mask, xor, rshift, addend and divisor, and can observe the resulting classid through class statistics. This allows a tc classifier in a user/network namespace to recover the 32-bit folded value of skb->sk, skb_dst() or skb_nfct(). Align with standard kernel practices for pointer hashing and replace the XOR folding with a keyed siphash (which is cryptographically secure) Fixes: e5dfb815181f ("[NET_SCHED]: Add flow classifier") Reported-by: Kyle Zeng <kylebot@openai.com> Tested-by: Kyle Zeng <kylebot@openai.com> Tested-by: Victor Nogueira <victor@mojatatu.com> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Link: https://patch.msgid.link/20260610101839.14135-1-jhs@mojatatu.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions