[LTP] [PATCH v3] syscalls/keyctl02: Fix insufficiency of default key count quota
Guangwen Feng
fenggw-fnst@cn.fujitsu.com
Wed Mar 29 09:23:18 CEST 2017
Adding and revoking keys rapidly in loops will take a significant
number of key count quota, because it takes time to free the
instantiated keys, 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 11d3af9..aa98822 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,9 +101,23 @@ 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)
+{
+ if (orig_maxkeys > 0)
+ 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