[LTP] [PATCH v2 00/33] Improve coverage for keyctl() syscall
Andrea Cervesato
andrea.cervesato@suse.de
Fri Sep 4 14:08:49 CEST 2026
Improve the keyctl() syscall coverage by adding more tests for the
following features, which are not currently tested in LTP:
- KEYCTL_DESCRIBE
- KEYCTL_GET_SECURITY
- KEYCTL_MOVE
- KEYCTL_RESTRICT_KEYRING
- KEYCTL_DH_COMPUTE
- KEYCTL_PKEY_*
- KEYCTL_CAPABILITIES
- KEYCTL_WATCH_KEY
The testing suite has been assisted by GLM 5.3 for coverage analysis
and Gemini Flash 3.7 for the tests skeleton.
Validation: https://openqa.opensuse.org/tests/6199954#
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
Changes in v2:
- fix build
- Link to v1: https://lore.kernel.org/20260902-keyctl_coverage-v1-0-d29dfa2ebcef@suse.com
To: Linux Test Project <ltp@lists.linux.it>
---
Andrea Cervesato (33):
lapi/keyctl.h: Add fallback definitions for extended ops
keyctl10: Test KEYCTL_DESCRIBE format parsing
keyctl11: Test KEYCTL_DESCRIBE with exact buffer size
keyctl12: Test KEYCTL_DESCRIBE with too small buffer
keyctl13: Test KEYCTL_DESCRIBE size query
keyctl14: Negative tests for KEYCTL_DESCRIBE
keyctl15: Test KEYCTL_GET_SECURITY label retrieval
keyctl16: Test KEYCTL_GET_SECURITY truncated copy
keyctl17: Negative tests for KEYCTL_GET_SECURITY
keyctl18: Test basic KEYCTL_MOVE
keyctl19: Test KEYCTL_MOVE with same source and destination
keyctl20: Test KEYCTL_MOVE displacement
keyctl21: Negative and boundary tests for KEYCTL_MOVE
keyctl22: Test KEYCTL_RESTRICT_KEYRING reject-all
keyctl23: Test KEYCTL_RESTRICT_KEYRING builtin_trusted
keyctl24: Negative tests for KEYCTL_RESTRICT_KEYRING
keyctl25: Test KEYCTL_DH_COMPUTE shared secret computation
keyctl26: Test KEYCTL_DH_COMPUTE size query
keyctl27: Test KEYCTL_DH_COMPUTE KDF key derivation
keyctl28: Negative and boundary tests for KEYCTL_DH_COMPUTE
lapi/keyctl.h: Add fallback definitions for public key ops
keyctl29: Test KEYCTL_PKEY_QUERY on public key
keyctl30: Test KEYCTL_PKEY_QUERY on private key
keyctl31: Test KEYCTL_PKEY_ENCRYPT and KEYCTL_PKEY_DECRYPT
keyctl32: Test KEYCTL_PKEY_SIGN and VERIFY
keyctl33: Negative tests for KEYCTL_PKEY_*
lapi/keyctl.h: Add capability fallback defines
keyctl34: Test KEYCTL_CAPABILITIES flag retrieval
keyctl35: Test KEYCTL_CAPABILITIES size query
keyctl36: Test KEYCTL_CAPABILITIES buffer sizing
keyctl37: Negative tests for KEYCTL_CAPABILITIES
keyctl38: Test KEYCTL_WATCH_KEY add and remove
keyctl39: Negative tests for KEYCTL_WATCH_KEY
include/lapi/keyctl.h | 141 +++++++++++-
m4/ltp-keyutils.m4 | 13 ++
runtest/syscalls | 30 +++
testcases/kernel/syscalls/keyctl/.gitignore | 30 +++
testcases/kernel/syscalls/keyctl/keyctl10.c | 99 +++++++++
testcases/kernel/syscalls/keyctl/keyctl11.c | 62 ++++++
testcases/kernel/syscalls/keyctl/keyctl12.c | 62 ++++++
testcases/kernel/syscalls/keyctl/keyctl13.c | 46 ++++
testcases/kernel/syscalls/keyctl/keyctl14.c | 54 +++++
testcases/kernel/syscalls/keyctl/keyctl15.c | 66 ++++++
testcases/kernel/syscalls/keyctl/keyctl16.c | 74 ++++++
testcases/kernel/syscalls/keyctl/keyctl17.c | 55 +++++
testcases/kernel/syscalls/keyctl/keyctl18.c | 60 +++++
testcases/kernel/syscalls/keyctl/keyctl19.c | 43 ++++
testcases/kernel/syscalls/keyctl/keyctl20.c | 62 ++++++
testcases/kernel/syscalls/keyctl/keyctl21.c | 111 +++++++++
testcases/kernel/syscalls/keyctl/keyctl22.c | 54 +++++
testcases/kernel/syscalls/keyctl/keyctl23.c | 142 ++++++++++++
testcases/kernel/syscalls/keyctl/keyctl24.c | 173 +++++++++++++++
testcases/kernel/syscalls/keyctl/keyctl25.c | 66 ++++++
testcases/kernel/syscalls/keyctl/keyctl26.c | 53 +++++
testcases/kernel/syscalls/keyctl/keyctl27.c | 78 +++++++
testcases/kernel/syscalls/keyctl/keyctl28.c | 140 ++++++++++++
testcases/kernel/syscalls/keyctl/keyctl29.c | 90 ++++++++
testcases/kernel/syscalls/keyctl/keyctl30.c | 86 +++++++
testcases/kernel/syscalls/keyctl/keyctl31.c | 110 +++++++++
testcases/kernel/syscalls/keyctl/keyctl32.c | 121 ++++++++++
testcases/kernel/syscalls/keyctl/keyctl33.c | 247 +++++++++++++++++++++
testcases/kernel/syscalls/keyctl/keyctl34.c | 62 ++++++
testcases/kernel/syscalls/keyctl/keyctl35.c | 49 ++++
testcases/kernel/syscalls/keyctl/keyctl36.c | 88 ++++++++
testcases/kernel/syscalls/keyctl/keyctl37.c | 63 ++++++
testcases/kernel/syscalls/keyctl/keyctl38.c | 91 ++++++++
testcases/kernel/syscalls/keyctl/keyctl39.c | 149 +++++++++++++
testcases/kernel/syscalls/keyctl/keyctl_common.h | 73 ++++++
testcases/kernel/syscalls/keyctl/keyctl_dh_data.h | 79 +++++++
.../kernel/syscalls/keyctl/keyctl_pkey_data.h | 152 +++++++++++++
37 files changed, 3173 insertions(+), 1 deletion(-)
---
base-commit: 043bdc49af410f55ece6f61abcdaba7d9580f86a
change-id: 20260831-keyctl_coverage-345a4c4d7992
Best regards,
--
Andrea Cervesato <andrea.cervesato@suse.com>
More information about the ltp
mailing list