[LTP] [PATCH] xfrm: Skip on EOPNOTSUPP in compat mode
Andrea Cervesato
andrea.cervesato@suse.de
Thu Jun 11 11:37:21 CEST 2026
From: Andrea Cervesato <andrea.cervesato@suse.com>
A 32-bit binary running on a 64-bit kernel uses the XFRM netlink compat
layer, which is only available when CONFIG_XFRM_USER_COMPAT is enabled
(and its module loaded). Without it the kernel returns EOPNOTSUPP for
any XFRM netlink message, which is a configuration limitation rather
than a test failure.
Report TCONF instead of TBROK in that case for xfrm01, xfrm02 and
xfrm03.
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
testcases/network/sockets/xfrm01.c | 3 +++
testcases/network/sockets/xfrm02.c | 3 +++
testcases/network/sockets/xfrm03.c | 3 +++
3 files changed, 9 insertions(+)
diff --git a/testcases/network/sockets/xfrm01.c b/testcases/network/sockets/xfrm01.c
index 5490d6b8a9f7fde79478ae0484e6ea8156d07cf3..22244032a521a42331b0c1411ae33f75622e64ce 100644
--- a/testcases/network/sockets/xfrm01.c
+++ b/testcases/network/sockets/xfrm01.c
@@ -126,6 +126,9 @@ static void setup(void)
if (TST_ERR == EPROTONOSUPPORT)
tst_brk(TCONF, "xfrm ESP is not supported by kernel");
+ if (tst_is_compat_mode() && TST_ERR == EOPNOTSUPP)
+ tst_brk(TCONF, "xfrm netlink unsupported in compat mode (missing CONFIG_XFRM_USER_COMPAT)");
+
tst_brk(TBROK | TTERRNO, "Failed to install xfrm ESP state");
}
}
diff --git a/testcases/network/sockets/xfrm02.c b/testcases/network/sockets/xfrm02.c
index 43edb77d43c8c99e9883fc9922031d559ef31c40..376f6ebe551dd81fbc6a982503eacd68da636f93 100644
--- a/testcases/network/sockets/xfrm02.c
+++ b/testcases/network/sockets/xfrm02.c
@@ -126,6 +126,9 @@ static void setup(void)
if (TST_ERR == EPROTONOSUPPORT)
tst_brk(TCONF, "xfrm ESP is not supported by kernel");
+ if (tst_is_compat_mode() && TST_ERR == EOPNOTSUPP)
+ tst_brk(TCONF, "xfrm netlink unsupported in compat mode (missing CONFIG_XFRM_USER_COMPAT)");
+
tst_brk(TBROK | TTERRNO, "Failed to install xfrm ESP state");
}
diff --git a/testcases/network/sockets/xfrm03.c b/testcases/network/sockets/xfrm03.c
index 02ab95c6b7a87f8f206b30a39bb6feb097117998..fa5df9c285d540d5cad0e890a73d43ad9aeba1c2 100644
--- a/testcases/network/sockets/xfrm03.c
+++ b/testcases/network/sockets/xfrm03.c
@@ -202,6 +202,9 @@ static void setup(void)
if (TST_ERR == EPROTONOSUPPORT)
tst_brk(TCONF, "xfrm ESP is not supported by kernel");
+ if (tst_is_compat_mode() && TST_ERR == EOPNOTSUPP)
+ tst_brk(TCONF, "xfrm netlink unsupported in compat mode (missing CONFIG_XFRM_USER_COMPAT)");
+
tst_brk(TBROK | TTERRNO, "Failed to install xfrm ESP state");
}
---
base-commit: c685f1b774fab694c42dfb7522bc42d999904373
change-id: 20260611-fix_xfrm_compat_mode-0503f1f9bb8d
Best regards,
--
Andrea Cervesato <andrea.cervesato@suse.com>
More information about the ltp
mailing list