[LTP] [PATCH v2 28/33] keyctl34: Test KEYCTL_CAPABILITIES flag retrieval

Petr Vorel pvorel@suse.cz
Mon Sep 14 11:15:08 CEST 2026


Hi Andrea,

> Test keyrings subsystem capabilities retrieval with KEYCTL_CAPABILITIES
> and verify standard capability bits (CAPABILITIES, INVALIDATE,
> RESTRICT_KEYRING, MOVE, NS_KEYRING_NAME, NS_KEY_TAG).
...
> +++ b/testcases/kernel/syscalls/keyctl/keyctl34.c
...
> +static void run(void)
> +{
> +	memset(caps, 0, sizeof(caps));
> +
> +	TEST(keyctl(KEYCTL_CAPABILITIES, (unsigned long)caps, sizeof(caps), 0, 0));
> +	if (TST_RET < 0)
> +		tst_brk(TBROK | TTERRNO, "KEYCTL_CAPABILITIES failed");
> +
> +	if (TST_RET < 2) {
> +		tst_res(TFAIL, "KEYCTL_CAPABILITIES returned %ld, expected at least 2",
> +			TST_RET);
> +		return;
> +	}
> +
> +	TST_EXP_EXPR(caps[0] & KEYCTL_CAPS0_CAPABILITIES,
> +		     "KEYCTL_CAPS0_CAPABILITIES is set");
> +	TST_EXP_EXPR(caps[0] & KEYCTL_CAPS0_INVALIDATE,
> +		     "KEYCTL_CAPS0_INVALIDATE is set");
> +	TST_EXP_EXPR(caps[0] & KEYCTL_CAPS0_RESTRICT_KEYRING,
> +		     "KEYCTL_CAPS0_RESTRICT_KEYRING is set");
> +	TST_EXP_EXPR(caps[0] & KEYCTL_CAPS0_MOVE,
> +		     "KEYCTL_CAPS0_MOVE is set");
> +
> +	TST_EXP_EXPR(caps[1] & KEYCTL_CAPS1_NS_KEYRING_NAME,
> +		     "KEYCTL_CAPS1_NS_KEYRING_NAME is set");

We also need KEYCTL_CAPS1_NS_KEYRING_NAME fallback added in v5.9-rc1
b206f281d0ee1 ("keys: Namespace keyring names")

(trivial fix)

Kind regards,
Petr


More information about the ltp mailing list