[LTP] [PATCH 09/10] kvm_pagefault01: Use library functions to reload KVM modules
Martin Doucha
mdoucha@suse.cz
Tue Jan 21 17:44:23 CET 2025
Signed-off-by: Martin Doucha <mdoucha@suse.cz>
---
testcases/kernel/kvm/kvm_pagefault01.c | 59 +++-----------------------
1 file changed, 5 insertions(+), 54 deletions(-)
diff --git a/testcases/kernel/kvm/kvm_pagefault01.c b/testcases/kernel/kvm/kvm_pagefault01.c
index 16b3137c0..db526cb7e 100644
--- a/testcases/kernel/kvm/kvm_pagefault01.c
+++ b/testcases/kernel/kvm/kvm_pagefault01.c
@@ -136,70 +136,21 @@ TST_TEST_TCONF("Test supported only on x86_64");
#else /* COMPILE_PAYLOAD */
-#include <ctype.h>
-#include <stdio.h>
-#include <unistd.h>
#include "tst_module.h"
#define TDP_MMU_SYSFILE "/sys/module/kvm/parameters/tdp_mmu"
#define TDP_AMD_SYSFILE "/sys/module/kvm_amd/parameters/npt"
#define TDP_INTEL_SYSFILE "/sys/module/kvm_intel/parameters/ept"
-#define BUF_SIZE 64
-
-static int read_bool_sys_param(const char *filename)
-{
- char buf[BUF_SIZE];
- int i, fd, ret;
-
- fd = open(filename, O_RDONLY);
-
- if (fd < 0)
- return -1;
-
- ret = read(fd, buf, BUF_SIZE - 1);
- SAFE_CLOSE(fd);
-
- if (ret < 1)
- return -1;
-
- buf[ret] = '\0';
-
- for (i = 0; buf[i] && !isspace(buf[i]); i++)
- ;
-
- buf[i] = '\0';
-
- if (isdigit(buf[0])) {
- tst_parse_int(buf, &ret, INT_MIN, INT_MAX);
- return ret;
- }
-
- if (!strcasecmp(buf, "N"))
- return 0;
-
- /* Assume that any other value than 0 or N means the param is enabled */
- return 1;
-}
-
-static void reload_module(const char *module, char *arg)
-{
- const char *const argv[] = {"modprobe", module, arg, NULL};
-
- tst_res(TINFO, "Reloading module %s with parameter %s", module, arg);
- tst_module_unload(module);
- tst_cmd(argv, NULL, NULL, 0);
-}
-
static void disable_tdp(void)
{
- if (read_bool_sys_param(TDP_AMD_SYSFILE) > 0)
- reload_module("kvm_amd", "npt=0");
+ if (tst_read_bool_sys_param(TDP_AMD_SYSFILE) > 0)
+ tst_module_reload("kvm_amd", (char *const[]){"npt=0", NULL});
- if (read_bool_sys_param(TDP_INTEL_SYSFILE) > 0)
- reload_module("kvm_intel", "ept=0");
+ if (tst_read_bool_sys_param(TDP_INTEL_SYSFILE) > 0)
+ tst_module_reload("kvm_intel", (char *const[]){"ept=0", NULL});
- if (read_bool_sys_param(TDP_MMU_SYSFILE) > 0)
+ if (tst_read_bool_sys_param(TDP_MMU_SYSFILE) > 0)
tst_res(TINFO, "WARNING: tdp_mmu is enabled, beware of false negatives");
}
--
2.47.0
More information about the ltp
mailing list