[PATCH net 0/2] net: psp: avoid conflicts with skb->decrypted and sk_validate_xmit_skb()
From: Daniel Zahka <daniel.zahka@gmail.com>
Date: 2026-09-10 23:46:18
Also in:
linux-kselftest, lkml
Sashiko's review of commit da630d1da2b1 ("netdevsim: psp: drop tx key
ops") [1] showed that there is a hazard between psp and offloaded tls,
where both can clobber what the other set in the sk_validate_xmit_skb
callback.
It was discussed further on the mailing list [2], and it was pointed out
that there are conflicts with psp and non-offloaded tls both using the
skb->decrypted bit.
The simplest fix is to make psp and tls mutually exclusive. This series
goes a bit further and makes psp exclusive with all TCP ULPs. The PSP
implementation that we have is not designed to be used with any TCP ULP,
so don't allow a socket to have state for both.
[1]: https://sashiko.dev/#/patchset/20260903-psp-prep-v1-0-d47e9c4c375d%40gmail.com
[2]: https://lore.kernel.org/netdev/20260903-psp-prep-v1-0-d47e9c4c375d@gmail.com/ (local)
Signed-off-by: Daniel Zahka <daniel.zahka@gmail.com>
---
Daniel Zahka (2):
net: psp: avoid conflicts with skb->decrypted and sk_validate_xmit_skb()
selftests: drv-net: psp: test PSP and TCP ULP mutual exclusion
include/net/sock.h | 11 +++++++
net/core/sock.c | 7 +++++
net/ipv4/tcp_ulp.c | 4 +++
net/psp/psp_sock.c | 4 +++
tools/testing/selftests/drivers/net/config | 1 +
tools/testing/selftests/drivers/net/psp.py | 46 ++++++++++++++++++++++++++++++
6 files changed, 73 insertions(+)
---
base-commit: 78445023439506ebd83b86d40b1e428a3b309d4a
change-id: 20260909-psp-ktls-fix-47aa27d955f2
Best regards,
--
Daniel Zahka [off-list ref]