All of lore.kernel.org
 help / color / mirror / Atom feed
* [LTP] [PATCH v3 00/36] Improve coverage for keyctl() syscall
@ 2026-09-16 14:03 Petr Vorel
  2026-09-16 14:03 ` [LTP] [PATCH v3 01/36] lapi/keyctl.h: Add fallback definitions for extended ops Petr Vorel
                   ` (36 more replies)
  0 siblings, 37 replies; 81+ messages in thread
From: Petr Vorel @ 2026-09-16 14:03 UTC (permalink / raw)
  To: ltp

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


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 81+ messages in thread
* [LTP] [PATCH v2 01/33] lapi/keyctl.h: Add fallback definitions for extended ops
@ 2026-09-04 12:08 Andrea Cervesato
  2026-09-04 15:18 ` [LTP] " linuxtestproject.agent
  0 siblings, 1 reply; 81+ messages in thread
From: Andrea Cervesato @ 2026-09-04 12:08 UTC (permalink / raw)
  To: Linux Test Project

From: Andrea Cervesato <andrea.cervesato@suse.com>

Add fallback definitions for KEYCTL_LINK, KEYCTL_RESTRICT_KEYRING,
KEYCTL_MOVE, and KEYCTL_MOVE_EXCL, as well as fallback definitions
for struct keyctl_dh_params and struct keyctl_kdf_params when built
without keyutils.h or linux/keyctl.h.

Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
 include/lapi/keyctl.h | 36 +++++++++++++++++++++++++++++++++++-
 m4/ltp-keyutils.m4    | 13 +++++++++++++
 2 files changed, 48 insertions(+), 1 deletion(-)

diff --git a/include/lapi/keyctl.h b/include/lapi/keyctl.h
index 83fa09303..1c6627f55 100644
--- a/include/lapi/keyctl.h
+++ b/include/lapi/keyctl.h
@@ -8,6 +8,8 @@
 
 #include "config.h"
 
+#include <stdint.h>
+
 #if defined(HAVE_KEYUTILS_H) && defined(HAVE_LIBKEYUTILS)
 # include <keyutils.h>
 #else
@@ -16,7 +18,6 @@
 # endif /* HAVE_LINUX_KEYCTL_H */
 
 # include <stdarg.h>
-# include <stdint.h>
 # include "lapi/syscalls.h"
 typedef int32_t key_serial_t;
 
@@ -60,6 +61,23 @@ static inline key_serial_t keyctl_join_session_keyring(const char *name) {
 
 #endif /* defined(HAVE_KEYUTILS_H) && defined(HAVE_LIBKEYUTILS) */
 
+#ifndef HAVE_STRUCT_KEYCTL_DH_PARAMS
+struct keyctl_dh_params {
+	int32_t priv;
+	int32_t prime;
+	int32_t base;
+};
+#endif
+
+#ifndef HAVE_STRUCT_KEYCTL_KDF_PARAMS
+struct keyctl_kdf_params {
+	char *hashname;
+	char *otherinfo;
+	uint32_t otherinfolen;
+	uint32_t __spare[8];
+};
+#endif
+
 /* special process keyring shortcut IDs */
 #ifndef KEY_SPEC_THREAD_KEYRING
 # define KEY_SPEC_THREAD_KEYRING -1
@@ -124,6 +142,10 @@ static inline key_serial_t keyctl_join_session_keyring(const char *name) {
 # define KEYCTL_CLEAR 7
 #endif
 
+#ifndef KEYCTL_LINK
+# define KEYCTL_LINK 8
+#endif
+
 #ifndef KEYCTL_UNLINK
 # define KEYCTL_UNLINK 9
 #endif
@@ -168,6 +190,18 @@ static inline key_serial_t keyctl_join_session_keyring(const char *name) {
 # define KEYCTL_WATCH_KEY 32
 #endif
 
+#ifndef KEYCTL_RESTRICT_KEYRING
+# define KEYCTL_RESTRICT_KEYRING 29
+#endif
+
+#ifndef KEYCTL_MOVE
+# define KEYCTL_MOVE 30
+#endif
+
+#ifndef KEYCTL_MOVE_EXCL
+# define KEYCTL_MOVE_EXCL 0x00000001 /* do not displace from the to-keyring */
+#endif
+
 /* key permissions */
 #ifndef KEY_POS_VIEW
 # define KEY_POS_VIEW    0x01000000
diff --git a/m4/ltp-keyutils.m4 b/m4/ltp-keyutils.m4
index 451c549f3..82303bef7 100644
--- a/m4/ltp-keyutils.m4
+++ b/m4/ltp-keyutils.m4
@@ -7,4 +7,17 @@ AC_DEFUN([LTP_CHECK_KEYUTILS_SUPPORT], [
 	AC_CHECK_LIB([keyutils], [add_key],
 	[AC_DEFINE(HAVE_LIBKEYUTILS, 1, [Define to 1 if you have libkeyutils installed.])
 	      AC_SUBST(KEYUTILS_LIBS, "-lkeyutils")])
+
+	LTP_KEYCTL_HEADERS=""
+
+	if test "x$ac_cv_header_keyutils_h" = "xyes" && \
+	   test "x$ac_cv_lib_keyutils_add_key" = "xyes"; then
+		LTP_KEYCTL_HEADERS="#include <keyutils.h>"
+	elif test "x$ac_cv_header_linux_keyctl_h" = "xyes"; then
+		LTP_KEYCTL_HEADERS="#include <linux/keyctl.h>"
+	fi
+
+	AC_CHECK_TYPES([struct keyctl_dh_params, struct keyctl_kdf_params,
+			struct keyctl_pkey_query, struct keyctl_pkey_params],,,
+			[$LTP_KEYCTL_HEADERS])
 ])

-- 
2.51.0


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 81+ messages in thread
* [LTP] [PATCH 02/33] keyctl10: Test KEYCTL_DESCRIBE format parsing
@ 2026-09-02 11:04 Andrea Cervesato
  2026-09-02 14:07 ` [LTP] lapi/keyctl.h: Add fallback definitions for extended ops linuxtestproject.agent
  0 siblings, 1 reply; 81+ messages in thread
From: Andrea Cervesato @ 2026-09-02 11:04 UTC (permalink / raw)
  To: Linux Test Project

From: Andrea Cervesato <andrea.cervesato@suse.com>

Test the format parsing of KEYCTL_DESCRIBE: verify that describing
a valid key returns a string formatted as "type;uid;gid;perm;description"
and that all five fields match the key's attributes.

Also add keyctl_common.h helper header for shared test definitions.

Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
 runtest/syscalls                                 |  1 +
 testcases/kernel/syscalls/keyctl/.gitignore      |  1 +
 testcases/kernel/syscalls/keyctl/keyctl10.c      | 99 ++++++++++++++++++++++++
 testcases/kernel/syscalls/keyctl/keyctl_common.h | 53 +++++++++++++
 4 files changed, 154 insertions(+)

diff --git a/runtest/syscalls b/runtest/syscalls
index 737c63e31..bf4c0d46e 100644
--- a/runtest/syscalls
+++ b/runtest/syscalls
@@ -727,6 +727,7 @@ keyctl06 keyctl06
 keyctl07 keyctl07
 keyctl08 keyctl08
 keyctl09 keyctl09
+keyctl10 keyctl10
 
 kcmp01 kcmp01
 kcmp02 kcmp02
diff --git a/testcases/kernel/syscalls/keyctl/.gitignore b/testcases/kernel/syscalls/keyctl/.gitignore
index f9948c176..08b2d101d 100644
--- a/testcases/kernel/syscalls/keyctl/.gitignore
+++ b/testcases/kernel/syscalls/keyctl/.gitignore
@@ -7,3 +7,4 @@
 /keyctl07
 /keyctl08
 /keyctl09
+/keyctl10
diff --git a/testcases/kernel/syscalls/keyctl/keyctl10.c b/testcases/kernel/syscalls/keyctl/keyctl10.c
new file mode 100644
index 000000000..105daa63d
--- /dev/null
+++ b/testcases/kernel/syscalls/keyctl/keyctl10.c
@@ -0,0 +1,99 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2026 Andrea Cervesato <andrea.cervesato@suse.com>
+ */
+
+/*\
+ * Test the format parsing of ``KEYCTL_DESCRIBE`` of :manpage:`keyctl(2)`.
+ *
+ * ``KEYCTL_DESCRIBE`` formats a key description as
+ * "type;uid;gid;perm;description" and returns the full length of the
+ * string including the terminating NUL byte.
+ *
+ * [Algorithm]
+ *
+ * - describe a valid key and verify all five fields of the description
+ *   match the key's attributes
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+
+#include "keyctl_common.h"
+
+#define KEY_DESC	"ltpkeyctl10"
+#define PAYLOAD		"payload"
+#define BUF_SIZE	64
+
+static key_serial_t key;
+static long desc_len;
+static char buf[BUF_SIZE];
+
+static void setup(void)
+{
+	SAFE_KEYCTL(KEYCTL_JOIN_SESSION_KEYRING, 0, 0, 0, 0);
+
+	key = new_user_key(KEY_DESC, PAYLOAD, sizeof(PAYLOAD),
+			   KEY_SPEC_PROCESS_KEYRING);
+	SAFE_KEYCTL(KEYCTL_SETPERM, key, KEY_PERM_SET, 0, 0);
+
+	TEST(keyctl(KEYCTL_DESCRIBE, key, (unsigned long)NULL, 0, 0));
+	if (TST_RET < 0)
+		tst_brk(TBROK | TTERRNO, "KEYCTL_DESCRIBE failed");
+
+	desc_len = TST_RET;
+}
+
+static void run(void)
+{
+	char type[32], desc[BUF_SIZE];
+	unsigned int uid, gid, perm;
+
+	memset(buf, 0, sizeof(buf));
+	TST_EXP_EQ_LI_SILENT(keyctl(KEYCTL_DESCRIBE, key, (unsigned long)buf,
+				    sizeof(buf), 0), desc_len);
+	if (!TST_PASS)
+		return;
+
+	TST_EXP_EQ_SZ_SILENT((size_t)desc_len, strlen(buf) + 1);
+	if (!TST_PASS) {
+		tst_res(TINFO, "unexpected description '%s'", buf);
+		return;
+	}
+
+	if (sscanf(buf, "%31[^;];%u;%u;%x;%63[^\n]",
+		   type, &uid, &gid, &perm, desc) != 5) {
+		tst_res(TFAIL, "malformed description '%s'", buf);
+		return;
+	}
+
+	if (strcmp(type, "user")) {
+		tst_res(TFAIL, "wrong key type '%s', expected 'user'", type);
+		return;
+	}
+
+	if (uid != getuid() || gid != getgid()) {
+		tst_res(TFAIL, "wrong owner uid %u gid %u, expected %u %u",
+			uid, gid, getuid(), getgid());
+		return;
+	}
+
+	if (perm != KEY_PERM_SET) {
+		tst_res(TFAIL, "wrong permissions %08x, expected %08x",
+			perm, KEY_PERM_SET);
+		return;
+	}
+
+	if (strcmp(desc, KEY_DESC)) {
+		tst_res(TFAIL, "wrong description '%s', expected '%s'",
+			desc, KEY_DESC);
+		return;
+	}
+
+	tst_res(TPASS, "described the key correctly");
+}
+
+static struct tst_test test = {
+	.setup = setup,
+	.test_all = run,
+};
diff --git a/testcases/kernel/syscalls/keyctl/keyctl_common.h b/testcases/kernel/syscalls/keyctl/keyctl_common.h
new file mode 100644
index 000000000..c7290cc6e
--- /dev/null
+++ b/testcases/kernel/syscalls/keyctl/keyctl_common.h
@@ -0,0 +1,53 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2026 Andrea Cervesato <andrea.cervesato@suse.com>
+ */
+
+#ifndef KEYCTL_COMMON_H__
+#define KEYCTL_COMMON_H__
+
+#include <stdint.h>
+#include <string.h>
+
+#include "tst_test.h"
+#include "lapi/keyctl.h"
+
+#define KEY_PERM_ALL		(KEY_POS_ALL | KEY_USR_ALL | KEY_GRP_ALL | KEY_OTH_ALL)
+#define KEY_PERM_SET		(KEY_POS_ALL | KEY_USR_ALL)
+
+#define KEY_VIEW_BITS		(KEY_POS_VIEW | KEY_USR_VIEW | KEY_GRP_VIEW | KEY_OTH_VIEW)
+#define KEY_PERM_NO_VIEW	(KEY_PERM_ALL & ~KEY_VIEW_BITS)
+
+#define KEY_WRITE_BITS		(KEY_POS_WRITE | KEY_USR_WRITE | KEY_GRP_WRITE | KEY_OTH_WRITE)
+#define KEY_PERM_NO_WRITE	(KEY_PERM_ALL & ~KEY_WRITE_BITS)
+
+#define KEY_SETATTR_BITS	(KEY_POS_SETATTR | KEY_USR_SETATTR | KEY_GRP_SETATTR | KEY_OTH_SETATTR)
+#define KEY_PERM_NO_SETATTR	(KEY_PERM_ALL & ~KEY_SETATTR_BITS)
+
+static inline key_serial_t new_ring(const char *desc)
+{
+	TEST(add_key("keyring", desc, NULL, 0, KEY_SPEC_PROCESS_KEYRING));
+	if (TST_RET < 0)
+		tst_brk(TBROK | TTERRNO, "failed to create keyring '%s'", desc);
+
+	return TST_RET;
+}
+
+static inline key_serial_t new_user_key(const char *desc, const void *payload,
+					size_t plen, key_serial_t ring)
+{
+	TEST(add_key("user", desc, payload, plen, ring));
+	if (TST_RET < 0)
+		tst_brk(TBROK | TTERRNO, "failed to add user key '%s'", desc);
+
+	return TST_RET;
+}
+
+static inline key_serial_t search_ring(key_serial_t ring, const char *type,
+				       const char *desc)
+{
+	return keyctl(KEYCTL_SEARCH, ring, (unsigned long)type,
+		      (unsigned long)desc, 0);
+}
+
+#endif /* KEYCTL_COMMON_H__ */

-- 
2.51.0


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 81+ messages in thread

end of thread, other threads:[~2026-09-19  0:19 UTC | newest]

Thread overview: 81+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-16 14:03 [LTP] [PATCH v3 00/36] Improve coverage for keyctl() syscall Petr Vorel
2026-09-16 14:03 ` [LTP] [PATCH v3 01/36] lapi/keyctl.h: Add fallback definitions for extended ops Petr Vorel
2026-09-17  9:35   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 02/36] lapi/keyctl.h: Add SAFE_ADD_KEY() Petr Vorel
2026-09-17  9:38   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 03/36] tree: keyctl: Use SAFE_ADD_KEY() Petr Vorel
2026-09-17  9:43   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 04/36] keyctl10: Test KEYCTL_DESCRIBE format parsing Petr Vorel
2026-09-17  9:54   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 05/36] keyctl11: Test KEYCTL_DESCRIBE with exact buffer size Petr Vorel
2026-09-16 18:19   ` [LTP] lapi/keyctl.h: Add fallback definitions for extended ops linuxtestproject.agent
2026-09-17 11:07   ` [LTP] [PATCH v3 05/36] keyctl11: Test KEYCTL_DESCRIBE with exact buffer size Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 06/36] keyctl12: Test KEYCTL_DESCRIBE with too small buffer Petr Vorel
2026-09-17 11:14   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 07/36] keyctl13: Test KEYCTL_DESCRIBE size query Petr Vorel
2026-09-17 11:32   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 08/36] keyctl14: Negative tests for KEYCTL_DESCRIBE Petr Vorel
2026-09-18 15:42   ` Petr Vorel
2026-09-16 14:03 ` [LTP] [PATCH v3 09/36] keyctl15: Test KEYCTL_GET_SECURITY label retrieval Petr Vorel
2026-09-17  8:54   ` Li Wang
2026-09-17 11:50     ` Cyril Hrubis
2026-09-18  5:01       ` Li Wang
2026-09-18  9:50         ` Cyril Hrubis
2026-09-18 10:59           ` Petr Vorel
2026-09-16 14:03 ` [LTP] [PATCH v3 10/36] keyctl16: Test KEYCTL_GET_SECURITY truncated copy Petr Vorel
2026-09-17 14:01   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 11/36] keyctl17: Negative tests for KEYCTL_GET_SECURITY Petr Vorel
2026-09-16 14:03 ` [LTP] [PATCH v3 12/36] keyctl18: Test basic KEYCTL_MOVE Petr Vorel
2026-09-17  9:51   ` Li Wang
2026-09-17 14:37   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 13/36] keyctl19: Test KEYCTL_MOVE with same source and destination Petr Vorel
2026-09-17  9:37   ` Li Wang
2026-09-16 14:03 ` [LTP] [PATCH v3 14/36] keyctl20: Test KEYCTL_MOVE displacement Petr Vorel
2026-09-17  9:38   ` Li Wang
2026-09-16 14:03 ` [LTP] [PATCH v3 15/36] keyctl21: Negative and boundary tests for KEYCTL_MOVE Petr Vorel
2026-09-18 11:24   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 16/36] keyctl22: Test KEYCTL_RESTRICT_KEYRING reject-all Petr Vorel
2026-09-18 11:29   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 17/36] lib: tst_test: Move the iterations to struct tst_test Petr Vorel
2026-09-16 14:03 ` [LTP] [PATCH v3 18/36] keyctl23: Test KEYCTL_RESTRICT_KEYRING builtin_trusted Petr Vorel
2026-09-18 11:51   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 19/36] keyctl24: Negative tests for KEYCTL_RESTRICT_KEYRING Petr Vorel
2026-09-18 12:08   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 20/36] keyctl25: Test KEYCTL_DH_COMPUTE shared secret computation Petr Vorel
2026-09-18 12:14   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 21/36] keyctl26: Test KEYCTL_DH_COMPUTE size query Petr Vorel
2026-09-18 12:16   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 22/36] keyctl27: Test KEYCTL_DH_COMPUTE KDF key derivation Petr Vorel
2026-09-16 14:03 ` [LTP] [PATCH v3 23/36] keyctl28: Negative and boundary tests for KEYCTL_DH_COMPUTE Petr Vorel
2026-09-16 14:03 ` [LTP] [PATCH v3 24/36] lapi/keyctl.h: Add fallback definitions for public key ops Petr Vorel
2026-09-18 12:31   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 25/36] keyctl29: Test KEYCTL_PKEY_QUERY on public key Petr Vorel
2026-09-18 14:42   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 26/36] keyctl30: Test KEYCTL_PKEY_QUERY on private key Petr Vorel
2026-09-18 14:50   ` Cyril Hrubis
2026-09-18 16:55     ` Petr Vorel
2026-09-16 14:03 ` [LTP] [PATCH v3 27/36] keyctl31: Test KEYCTL_PKEY_ENCRYPT and KEYCTL_PKEY_DECRYPT Petr Vorel
2026-09-18 15:17   ` Cyril Hrubis
2026-09-18 15:53     ` Petr Vorel
2026-09-18 17:01     ` Petr Vorel
2026-09-16 14:03 ` [LTP] [PATCH v3 28/36] keyctl32: Test KEYCTL_PKEY_SIGN and VERIFY Petr Vorel
2026-09-18 15:25   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 29/36] keyctl33: Negative tests for KEYCTL_PKEY_* Petr Vorel
2026-09-18 15:31   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 30/36] lapi/keyctl.h: Add capability fallback defines Petr Vorel
2026-09-18 15:32   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 31/36] keyctl34: Test KEYCTL_CAPABILITIES flag retrieval Petr Vorel
2026-09-18 15:36   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 32/36] keyctl35: Test KEYCTL_CAPABILITIES size query Petr Vorel
2026-09-18 15:37   ` Cyril Hrubis
2026-09-16 14:03 ` [LTP] [PATCH v3 33/36] keyctl36: Test KEYCTL_CAPABILITIES buffer sizing Petr Vorel
2026-09-18 15:44   ` Cyril Hrubis
2026-09-16 14:04 ` [LTP] [PATCH v3 34/36] keyctl37: Negative tests for KEYCTL_CAPABILITIES Petr Vorel
2026-09-16 14:04 ` [LTP] [PATCH v3 35/36] keyctl38: Test KEYCTL_WATCH_KEY add and remove Petr Vorel
2026-09-18 15:53   ` Cyril Hrubis
2026-09-16 14:04 ` [LTP] [PATCH v3 36/36] keyctl39: Negative tests for KEYCTL_WATCH_KEY Petr Vorel
2026-09-17 10:11 ` [LTP] [PATCH v3 00/36] Improve coverage for keyctl() syscall Li Wang
2026-09-18 14:39   ` Petr Vorel
2026-09-19  0:18     ` Li Wang
  -- strict thread matches above, loose matches on Subject: below --
2026-09-04 12:08 [LTP] [PATCH v2 01/33] lapi/keyctl.h: Add fallback definitions for extended ops Andrea Cervesato
2026-09-04 15:18 ` [LTP] " linuxtestproject.agent
2026-09-02 11:04 [LTP] [PATCH 02/33] keyctl10: Test KEYCTL_DESCRIBE format parsing Andrea Cervesato
2026-09-02 14:07 ` [LTP] lapi/keyctl.h: Add fallback definitions for extended ops linuxtestproject.agent

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.