>From 1101aa2287f761df5cfab29806baf49fadd80c34 Mon Sep 17 00:00:00 2001 From: Caspar Zhang <[email protected]> Date: Tue, 26 Oct 2010 16:54:13 +0800 Subject: [PATCH] fix keyctl revoke argument
add some codes to find an unused id instead of using #define directly. Signed-off-by: Caspar Zhang <[email protected]> --- testcases/kernel/syscalls/keyctl/keyctl01.c | 15 +++++++++++++-- 1 files changed, 13 insertions(+), 2 deletions(-) diff --git a/testcases/kernel/syscalls/keyctl/keyctl01.c b/testcases/kernel/syscalls/keyctl/keyctl01.c index 292e573..57f334f 100644 --- a/testcases/kernel/syscalls/keyctl/keyctl01.c +++ b/testcases/kernel/syscalls/keyctl/keyctl01.c @@ -40,6 +40,7 @@ #include <stdio.h> #include <errno.h> +#include <stdint.h> #include <linux/keyctl.h> /* Harness Specific Include Files. */ #include "test.h" @@ -110,6 +111,7 @@ void setup() { int main(int ac, char **av) { int ret; int lc; /* loop counter */ + int i, nonexist_key; char *msg; /* message returned from parse_opts */ /* parse standard options */ @@ -126,7 +128,7 @@ int main(int ac, char **av) { Tst_count = 0; for (testno = 1; testno < TST_TOTAL; ++testno) { - + /* Call keyctl() and ask for a keyring's ID. */ ret = syscall(__NR_keyctl, KEYCTL_GET_KEYRING_ID, KEY_SPEC_USER_SESSION_KEYRING); @@ -136,8 +138,17 @@ int main(int ac, char **av) { tst_resm(TFAIL | TERRNO, "KEYCTL_GET_KEYRING_ID"); } + /* find a non-existed key */ + for (i = INT32_MAX; i > -INT32_MAX; --i) + { + ret = syscall(__NR_keyctl, KEYCTL_READ, i); + if (ret == -1 && errno == ENOKEY) + break; + } + nonexist_key = i; + /* Call keyctl. */ - ret = syscall(__NR_keyctl, KEYCTL_REVOKE, "MyKey"); + ret = syscall(__NR_keyctl, KEYCTL_REVOKE, nonexist_key); if (ret != -1) { tst_resm(TFAIL | TERRNO, "KEYCTL_REVOKE succeeded unexpectly"); } else { -- 1.7.3.1 -- Quality Assurance Associate (Kernel) in Red Hat Software (Beijing) Co., R&D Branch TEL: +86-10-62608150 WEB: http://www.redhat.com/ ------------------------------------------------------------------------------ Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
