syscalls/keyctl02: Fix insufficiency of default key count quota
PATCH 1/1 syscalls/keyctl02: Fix insufficiency of default key count quota
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.
--- testcases/kernel/syscalls/keyctl/keyctl02.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
testcases/kernel/syscalls/keyctl/keyctl02.c +17 -0
@@ -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, };
Signature · 1 line
1.8.4.2
PATCH v2 1/1 syscalls/keyctl02: Fix insufficiency of default key count quota
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.
--- testcases/kernel/syscalls/keyctl/keyctl02.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
testcases/kernel/syscalls/keyctl/keyctl02.c +16 -0
@@ -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,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, };
Signature · 1 line
1.8.4.2
PATCH v2 1/1 syscalls/keyctl02: Fix insufficiency of default key count quota
Hi!
Please ignore this one, I will send a V3, sorry.
Best Regards,
Guangwen Feng
Quoted 47 lines · Guangwen Feng
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 <[email protected]>--- testcases/kernel/syscalls/keyctl/keyctl02.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)testcases/kernel/syscalls/keyctl/keyctl02.c +16
-0@@ -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,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, };
PATCH v3 1/1 syscalls/keyctl02: Fix insufficiency of default key count quota
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.
--- testcases/kernel/syscalls/keyctl/keyctl02.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
testcases/kernel/syscalls/keyctl/keyctl02.c +17 -0
@@ -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, };
Signature · 1 line
1.8.4.2
PATCH v3 1/1 syscalls/keyctl02: Fix insufficiency of default key count quota
Hi!
Pushed, thanks.
Signature · 2 lines
Cyril Hrubis [email protected]