[LTP] [PATCH] syscalls/keyctl02: Fix insufficiency of default key count quota
Guangwen Feng
fenggw-fnst@cn.fujitsu.com
Thu Mar 9 11:22:43 CET 2017
Adding and revoking keys rapidly in loops will take a significant
number of key count quota, because it takes time to release the
instantiated key, so temporarily raise the quota when testing.
Signed-off-by: Guangwen Feng <fenggw-fnst@cn.fujitsu.com>
---
testcases/kernel/syscalls/keyctl/keyctl02.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/testcases/kernel/syscalls/keyctl/keyctl02.c b/testcases/kernel/syscalls/keyctl/keyctl02.c
index 7145a5a..fc743d2 100644
--- a/testcases/kernel/syscalls/keyctl/keyctl02.c
+++ b/testcases/kernel/syscalls/keyctl/keyctl02.c
@@ -48,6 +48,9 @@
#ifdef HAVE_KEYUTILS_H
#define LOOPS 20000
+#define PATH_KEY_COUNT_QUOTA "/proc/sys/kernel/keys/root_maxkeys"
+
+static int orig_maxkeys;
static void *do_read(void *arg)
{
@@ -98,8 +101,22 @@ static void do_test(void)
tst_res(TPASS, "Bug not reproduced");
}
+static void setup(void)
+{
+ SAFE_FILE_SCANF(PATH_KEY_COUNT_QUOTA, "%d", &orig_maxkeys);
+ SAFE_FILE_PRINTF(PATH_KEY_COUNT_QUOTA, "%d", orig_maxkeys + LOOPS);
+}
+
+static void cleanup(void)
+{
+ SAFE_FILE_PRINTF(PATH_KEY_COUNT_QUOTA, "%d", orig_maxkeys);
+}
+
static struct tst_test test = {
.tid = "keyctl02",
+ .needs_root = 1,
+ .setup = setup,
+ .cleanup = cleanup,
.test_all = do_test,
};
--
1.8.4.2
More information about the ltp
mailing list