[LTP] [PATCH v3 00/36] Improve coverage for keyctl() syscall
Petr Vorel
pvorel@suse.cz
Wed Sep 16 16:03:26 CEST 2026
Hi,
I adjusted Andrea's great v2 patchset to be able to finish it before git
freeze. I hopefully addressed all Cyril's suggestions. If not, ideally
we'd merge at least the tests which are ready. (I added .iterations = 2
only to keyctl23.c, maybe it should be in other tests.
Changes v2->v3:
Described at the commits itself, e.g.:
* changing configure setup
* using SAFE_KEYCTL()
* changing helper functions in keyctl_common.h to macros
Other changes - new commits (1 from Cyril and 2 mine).
NOTE: I found on VM with 6.17.0-rc5-4.gc548b9b-default that keyctl15.c
fails:
keyctl15.c:46: TFAIL: empty label is not NUL terminated
That might be a reason why Andrea did not test it on failure
(modification asked by Cyril).
I wonder if it's a bug or not.
Kind regards,
Petr
Link to v2:
https://lore.kernel.org/ltp/20260904-keyctl_coverage-v2-0-43b78b15ef9f@suse.com/
https://patchwork.kernel.org/project/ltp/list/?series=1157990&state=*
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
Cyril Hrubis (1):
lib: tst_test: Move the iterations to struct tst_test
Petr Vorel (2):
lapi/keyctl.h: Add SAFE_ADD_KEY()
tree: keyctl: Use SAFE_ADD_KEY()
include/lapi/keyctl.h | 168 +++++++++++-
include/tst_test.h | 4 +
lib/tst_test.c | 8 +-
m4/ltp-keyutils.m4 | 7 +
runtest/syscalls | 30 +++
testcases/cve/cve-2016-7042.c | 4 +-
testcases/kernel/syscalls/add_key/add_key03.c | 9 +-
testcases/kernel/syscalls/add_key/add_key04.c | 14 +-
testcases/kernel/syscalls/keyctl/.gitignore | 30 +++
testcases/kernel/syscalls/keyctl/keyctl02.c | 8 +-
testcases/kernel/syscalls/keyctl/keyctl03.c | 4 +-
testcases/kernel/syscalls/keyctl/keyctl06.c | 6 +-
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 | 64 +++++
testcases/kernel/syscalls/keyctl/keyctl16.c | 74 ++++++
testcases/kernel/syscalls/keyctl/keyctl17.c | 55 ++++
testcases/kernel/syscalls/keyctl/keyctl18.c | 51 ++++
testcases/kernel/syscalls/keyctl/keyctl19.c | 43 +++
testcases/kernel/syscalls/keyctl/keyctl20.c | 51 ++++
testcases/kernel/syscalls/keyctl/keyctl21.c | 111 ++++++++
testcases/kernel/syscalls/keyctl/keyctl22.c | 54 ++++
testcases/kernel/syscalls/keyctl/keyctl23.c | 134 ++++++++++
testcases/kernel/syscalls/keyctl/keyctl24.c | 171 ++++++++++++
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 | 61 +++++
testcases/kernel/syscalls/keyctl/keyctl35.c | 46 ++++
testcases/kernel/syscalls/keyctl/keyctl36.c | 84 ++++++
testcases/kernel/syscalls/keyctl/keyctl37.c | 63 +++++
testcases/kernel/syscalls/keyctl/keyctl38.c | 91 +++++++
testcases/kernel/syscalls/keyctl/keyctl39.c | 149 +++++++++++
.../kernel/syscalls/keyctl/keyctl_common.h | 62 +++++
.../kernel/syscalls/keyctl/keyctl_dh_data.h | 79 ++++++
.../kernel/syscalls/keyctl/keyctl_pkey_data.h | 152 +++++++++++
.../syscalls/request_key/request_key01.c | 4 +-
.../syscalls/request_key/request_key02.c | 4 +-
testcases/kernel/watchqueue/common.h | 4 +-
48 files changed, 3167 insertions(+), 46 deletions(-)
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl10.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl11.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl12.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl13.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl14.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl15.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl16.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl17.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl18.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl19.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl20.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl21.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl22.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl23.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl24.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl25.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl26.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl27.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl28.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl29.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl30.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl31.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl32.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl33.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl34.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl35.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl36.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl37.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl38.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl39.c
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl_common.h
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl_dh_data.h
create mode 100644 testcases/kernel/syscalls/keyctl/keyctl_pkey_data.h
--
2.55.0
More information about the ltp
mailing list