* [LTP] [PATCH v3] lib: Introduce tst_path_macros.h to consolidate system paths
@ 2026-05-05 8:30 Li Wang
2026-05-05 17:54 ` [LTP] " linuxtestproject.agent
2026-05-15 15:58 ` [LTP] [PATCH v3] " Petr Vorel
0 siblings, 2 replies; 4+ messages in thread
From: Li Wang @ 2026-05-05 8:30 UTC (permalink / raw)
To: ltp
We have a lot of hardcoded strings and duplicated macros for /proc
and /sys paths scattered throughout the testcases.
This patch introduces a new common header, tst_path_macros.h, to centralize
and standardize these path definitions. By unifying these macros, we
reduce code duplication, improve maintainability, and ensure consistent
path usage across the entire LTP codebase.
Signed-off-by: Li Wang <li.wang@linux.dev>
---
Notes:
v3:
* Rename to tst_path_macros.h to reflect its macro-only content.
* Replaced generic string concatenation macros with explicit.
* Manualy built & Tested all touched tests on my c10s vm.
include/tst_hugepage.h | 10 +--
include/tst_path_macros.h | 81 +++++++++++++++++++
include/tst_test.h | 1 +
lib/newlib_tests/test19.c | 6 +-
lib/newlib_tests/test20.c | 8 +-
lib/newlib_tests/test_zero_hugepage.c | 4 +-
lib/tst_hugepage.c | 14 ++--
lib/tst_net.c | 4 +-
lib/tst_test.c | 2 +-
libs/ipc/tse_ipc.c | 3 +-
testcases/cve/cve-2015-3290.c | 8 +-
testcases/cve/cve-2017-16939.c | 2 +-
testcases/cve/cve-2022-4378.c | 16 ++--
testcases/cve/icmp_rate_limit01.c | 2 +-
testcases/cve/tcindex01.c | 2 +-
testcases/kernel/containers/pidns/pidns05.c | 2 +-
testcases/kernel/containers/userns/userns01.c | 9 +--
.../containers/userns/userns06_capcheck.c | 2 +-
testcases/kernel/containers/userns/userns07.c | 2 +-
testcases/kernel/containers/userns/userns08.c | 6 +-
testcases/kernel/include/ksm_helper.h | 2 +-
testcases/kernel/io/ltp-aiodio/aio-stress.c | 2 +-
.../kernel/io/ltp-aiodio/aiodio_append.c | 2 +-
testcases/kernel/lib/ksm_helper.c | 4 +-
testcases/kernel/logging/kmsg/kmsg01.c | 11 ++-
.../kernel/mem/hugetlb/hugemmap/hugemmap05.c | 8 +-
.../kernel/mem/hugetlb/hugemmap/hugemmap08.c | 6 +-
.../kernel/mem/hugetlb/hugemmap/hugemmap10.c | 8 +-
.../kernel/mem/hugetlb/hugemmap/hugemmap32.c | 11 ++-
.../kernel/mem/hugetlb/hugemmap/hugemmap34.c | 1 -
.../mem/hugetlb/hugeshmat/hugeshmat04.c | 2 +-
.../mem/hugetlb/hugeshmget/hugeshmget03.c | 1 -
testcases/kernel/mem/hugetlb/lib/hugetlb.h | 2 -
testcases/kernel/mem/ksm/ksm01.c | 10 +--
testcases/kernel/mem/ksm/ksm02.c | 10 +--
testcases/kernel/mem/ksm/ksm03.c | 10 +--
testcases/kernel/mem/ksm/ksm04.c | 10 +--
testcases/kernel/mem/ksm/ksm05.c | 4 +-
testcases/kernel/mem/ksm/ksm06.c | 32 ++++----
testcases/kernel/mem/ksm/ksm07.c | 28 +++----
testcases/kernel/mem/ksm/ksm_test.h | 24 +++---
testcases/kernel/mem/oom/oom.h | 11 ++-
testcases/kernel/mem/oom/oom01.c | 10 +--
testcases/kernel/mem/oom/oom02.c | 2 +-
testcases/kernel/mem/oom/oom03.c | 2 +-
testcases/kernel/mem/oom/oom04.c | 2 +-
testcases/kernel/mem/oom/oom05.c | 2 +-
testcases/kernel/mem/thp/thp.h | 4 +-
testcases/kernel/mem/thp/thp02.c | 2 +-
testcases/kernel/mem/thp/thp03.c | 2 +-
.../kernel/mem/tunable/min_free_kbytes.c | 22 +++--
.../kernel/mem/tunable/overcommit_memory.c | 17 ++--
.../kernel/sched/sysctl/proc_sched_rt01.c | 22 +++--
testcases/kernel/syscalls/bind/bind06.c | 2 +-
.../kernel/syscalls/fanotify/fanotify10.c | 13 ++-
.../kernel/syscalls/fanotify/fanotify17.c | 17 ++--
testcases/kernel/syscalls/fcntl/fcntl30.c | 2 +-
testcases/kernel/syscalls/fcntl/fcntl35.c | 12 ++-
testcases/kernel/syscalls/fcntl/fcntl37.c | 2 +-
testcases/kernel/syscalls/fork/fork13.c | 2 +-
testcases/kernel/syscalls/getpid/getpid01.c | 2 +-
testcases/kernel/syscalls/getppid/getppid01.c | 2 +-
.../kernel/syscalls/getxattr/getxattr05.c | 9 +--
testcases/kernel/syscalls/inotify/inotify07.c | 2 +-
testcases/kernel/syscalls/inotify/inotify08.c | 2 +-
.../kernel/syscalls/io_setup/io_setup01.c | 6 +-
.../kernel/syscalls/io_setup/io_setup02.c | 4 +-
.../kernel/syscalls/io_uring/io_uring01.c | 2 +-
.../kernel/syscalls/io_uring/io_uring02.c | 2 +-
.../kernel/syscalls/io_uring/io_uring03.c | 2 +-
.../kernel/syscalls/ipc/msgget/msgget03.c | 4 +-
.../kernel/syscalls/ipc/msgget/msgget04.c | 2 +-
.../kernel/syscalls/ipc/msgget/msgget05.c | 2 +-
.../syscalls/ipc/msgstress/msgstress01.c | 2 +-
.../kernel/syscalls/ipc/semget/semget05.c | 4 +-
.../kernel/syscalls/ipc/shmctl/shmctl03.c | 6 +-
.../kernel/syscalls/ipc/shmget/shmget02.c | 2 +-
.../kernel/syscalls/ipc/shmget/shmget03.c | 2 +-
.../kernel/syscalls/ipc/shmget/shmget05.c | 5 +-
.../kernel/syscalls/ipc/shmget/shmget06.c | 6 +-
testcases/kernel/syscalls/madvise/madvise01.c | 1 -
testcases/kernel/syscalls/madvise/madvise02.c | 3 +-
testcases/kernel/syscalls/madvise/madvise06.c | 2 +-
testcases/kernel/syscalls/madvise/madvise08.c | 2 +-
.../syscalls/memfd_create/memfd_create04.c | 4 +-
.../syscalls/migrate_pages/migrate_pages02.c | 2 +-
.../syscalls/migrate_pages/migrate_pages03.c | 8 +-
testcases/kernel/syscalls/mmap/mmap10.c | 3 +-
.../kernel/syscalls/move_pages/move_pages12.c | 12 ++-
.../kernel/syscalls/newuname/newuname01.c | 8 +-
.../perf_event_open/perf_event_open02.c | 2 +-
testcases/kernel/syscalls/pkeys/pkey01.c | 1 -
testcases/kernel/syscalls/preadv2/preadv203.c | 2 +-
.../kernel/syscalls/readahead/readahead02.c | 5 +-
.../sched_rr_get_interval01.c | 6 +-
testcases/kernel/syscalls/sendmsg/sendmsg03.c | 2 +-
testcases/kernel/syscalls/sendto/sendto03.c | 2 +-
testcases/kernel/syscalls/setpgid/setpgid02.c | 2 +-
.../kernel/syscalls/setrlimit/setrlimit03.c | 6 +-
.../kernel/syscalls/setsockopt/setsockopt05.c | 2 +-
.../kernel/syscalls/setsockopt/setsockopt06.c | 2 +-
.../kernel/syscalls/setsockopt/setsockopt07.c | 2 +-
.../kernel/syscalls/setsockopt/setsockopt08.c | 2 +-
.../kernel/syscalls/setsockopt/setsockopt09.c | 2 +-
testcases/kernel/syscalls/splice/splice.h | 8 +-
testcases/kernel/syscalls/splice/splice06.c | 24 +++---
testcases/kernel/syscalls/syslog/syslog11.c | 2 +-
testcases/kernel/syscalls/unshare/unshare03.c | 6 +-
testcases/kernel/syscalls/wait4/wait402.c | 2 +-
testcases/kernel/syscalls/waitid/waitid10.c | 2 +-
testcases/network/iptables/nft02.c | 2 +-
testcases/network/packet/fanout01.c | 2 +-
112 files changed, 369 insertions(+), 350 deletions(-)
create mode 100644 include/tst_path_macros.h
diff --git a/include/tst_hugepage.h b/include/tst_hugepage.h
index 6b865b2f2..a5b07b67d 100644
--- a/include/tst_hugepage.h
+++ b/include/tst_hugepage.h
@@ -6,15 +6,7 @@
#ifndef TST_HUGEPAGE__
#define TST_HUGEPAGE__
-#define PATH_HUGEPAGES "/sys/kernel/mm/hugepages/"
-#define PATH_NR_HPAGES "/proc/sys/vm/nr_hugepages"
-#define PATH_OC_HPAGES "/proc/sys/vm/nr_overcommit_hugepages"
-
-#define MEMINFO_HPAGE_TOTAL "HugePages_Total:"
-#define MEMINFO_HPAGE_FREE "HugePages_Free:"
-#define MEMINFO_HPAGE_RSVD "HugePages_Rsvd:"
-#define MEMINFO_HPAGE_SURP "HugePages_Surp:"
-#define MEMINFO_HPAGE_SIZE "Hugepagesize:"
+#include "tst_path_macros.h"
extern char *nr_opt; /* -s num Set the number of the been allocated hugepages */
extern char *Hopt; /* -H /.. Location of hugetlbfs, i.e. -H /var/hugetlbfs */
diff --git a/include/tst_path_macros.h b/include/tst_path_macros.h
new file mode 100644
index 000000000..855d1d79f
--- /dev/null
+++ b/include/tst_path_macros.h
@@ -0,0 +1,81 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) Linux Test Project, 2026
+ * Copyright (c) 2026 Li Wang <li.wang@linux.dev>
+ */
+
+#ifndef TST_PATH_MACROS__
+#define TST_PATH_MACROS__
+
+/* KERNEL */
+#define PATH_HOSTNAME "/proc/sys/kernel/hostname"
+#define PATH_OSRELEASE "/proc/sys/kernel/osrelease"
+#define PATH_VERSION "/proc/sys/kernel/version"
+#define PATH_DOMAINNAME "/proc/sys/kernel/domainname"
+#define PATH_PRINTK "/proc/sys/kernel/printk"
+#define PATH_PID_MAX "/proc/sys/kernel/pid_max"
+#define PATH_SHMMAX "/proc/sys/kernel/shmmax"
+#define PATH_SHMMNI "/proc/sys/kernel/shmmni"
+#define PATH_SHMALL "/proc/sys/kernel/shmall"
+#define PATH_SHM_NEXT_ID "/proc/sys/kernel/shm_next_id"
+#define PATH_MSGMNI "/proc/sys/kernel/msgmni"
+#define PATH_MSG_NEXT_ID "/proc/sys/kernel/msg_next_id"
+#define PATH_SEM "/proc/sys/kernel/sem"
+#define PATH_CORE_PATTERN "/proc/sys/kernel/core_pattern"
+#define PATH_CAP_LAST_CAP "/proc/sys/kernel/cap_last_cap"
+#define PATH_NUMA_BALANCING "/proc/sys/kernel/numa_balancing"
+#define PATH_IO_URING_DISABLED "/proc/sys/kernel/io_uring_disabled"
+#define PATH_OVERFLOWUID "/proc/sys/kernel/overflowuid"
+#define PATH_OVERFLOWGID "/proc/sys/kernel/overflowgid"
+#define PATH_PERF_EVENT_PARANOID "/proc/sys/kernel/perf_event_paranoid"
+#define PATH_PERF_EVENT_MLOCK_KB "/proc/sys/kernel/perf_event_mlock_kb"
+#define PATH_PERF_EVENT_MAX_SAMPLE_RATE "/proc/sys/kernel/perf_event_max_sample_rate"
+#define PATH_SCHED_RT_PERIOD_US "/proc/sys/kernel/sched_rt_period_us"
+#define PATH_SCHED_RT_RUNTIME_US "/proc/sys/kernel/sched_rt_runtime_us"
+#define PATH_SCHED_RR_TIMESLICE_MS "/proc/sys/kernel/sched_rr_timeslice_ms"
+#define PATH_UNPRIVILEGED_USERNS_CLONE "/proc/sys/kernel/unprivileged_userns_clone"
+
+/* USER */
+#define PATH_MAX_USER_NAMESPACES "/proc/sys/user/max_user_namespaces"
+#define PATH_MAX_FANOTIFY_GROUPS "/proc/sys/user/max_fanotify_groups"
+#define PATH_MAX_FANOTIFY_MARKS "/proc/sys/user/max_fanotify_marks"
+
+/* FS */
+#define PATH_FS_NR_OPEN "/proc/sys/fs/nr_open"
+#define PATH_FS_NR_AIO_MAX_NR "/proc/sys/fs/aio-max-nr"
+#define PATH_FS_PIPE_MAX_SIZE "/proc/sys/fs/pipe-max-size"
+#define PATH_FS_PIPE_MAX_PAGES "/proc/sys/fs/pipe-max-pages"
+#define PATH_FS_MAX_USER_GROUPS "/proc/sys/fs/fanotify/max_user_groups"
+#define PATH_FS_MAX_USER_MARKS "/proc/sys/fs/fanotify/max_user_marks"
+
+/* VM */
+#define PATH_VM_DROP_CACHES "/proc/sys/vm/drop_caches"
+#define PATH_VM_COMPACT_MEMORY "/proc/sys/vm/compact_memory"
+#define PATH_VM_PANIC_ON_OOM "/proc/sys/vm/panic_on_oom"
+#define PATH_VM_OVERCOMMIT_MEMORY "/proc/sys/vm/overcommit_memory"
+#define PATH_VM_OVERCOMMIT_RATIO "/proc/sys/vm/overcommit_ratio"
+#define PATH_VM_MIN_FREE_KBYTES "/proc/sys/vm/min_free_kbytes"
+#define PATH_VM_VFS_CACHE_PRESSURE "/proc/sys/vm/vfs_cache_pressure"
+
+/* HUGETLB */
+#define PATH_MM_HUGEPAGES "/sys/kernel/mm/hugepages/"
+#define PATH_MM_THP "/sys/kernel/mm/transparent_hugepage/"
+#define PATH_VM_NR_HPAGES "/proc/sys/vm/nr_hugepages"
+#define PATH_VM_OVERCOMMIT_HPAGES "/proc/sys/vm/nr_overcommit_hugepages"
+
+/* KSM */
+#define PATH_MM_KSM "/sys/kernel/mm/ksm/"
+#define MM_KSM_FP(s) (PATH_MM_KSM s)
+
+/* NETWORK */
+#define PATH_NET_IPV4 "/proc/sys/net/ipv4/"
+#define NET_IPV4_FP(s) (PATH_NET_IPV4 s)
+
+/* MEMINFO */
+#define MEMINFO_HPAGE_TOTAL "HugePages_Total:"
+#define MEMINFO_HPAGE_FREE "HugePages_Free:"
+#define MEMINFO_HPAGE_RSVD "HugePages_Rsvd:"
+#define MEMINFO_HPAGE_SURP "HugePages_Surp:"
+#define MEMINFO_HPAGE_SIZE "Hugepagesize:"
+
+#endif /* TST_PATH_MACROS__ */
diff --git a/include/tst_test.h b/include/tst_test.h
index f12c59f39..152752fe6 100644
--- a/include/tst_test.h
+++ b/include/tst_test.h
@@ -21,6 +21,7 @@
#include "tst_res_flags.h"
#include "tst_parse.h"
#include "tst_test_macros.h"
+#include "tst_path_macros.h"
#include "tst_checkpoint.h"
#include "tst_device.h"
#include "tst_mkfs.h"
diff --git a/lib/newlib_tests/test19.c b/lib/newlib_tests/test19.c
index a5683eaa4..1cb3cbb01 100644
--- a/lib/newlib_tests/test19.c
+++ b/lib/newlib_tests/test19.c
@@ -10,7 +10,7 @@
static void setup(void)
{
- SAFE_FILE_PRINTF("/proc/sys/kernel/core_pattern", "changed");
+ SAFE_FILE_PRINTF(PATH_CORE_PATTERN, "changed");
tst_sys_conf_dump();
}
@@ -25,8 +25,8 @@ static struct tst_test test = {
.setup = setup,
.save_restore = (const struct tst_path_val[]) {
{"/proc/nonexistent", NULL, TST_SR_SKIP},
- {"/proc/sys/kernel/numa_balancing", NULL, TST_SR_TBROK},
- {"/proc/sys/kernel/core_pattern", NULL, TST_SR_TCONF},
+ {PATH_NUMA_BALANCING, NULL, TST_SR_TBROK},
+ {PATH_CORE_PATTERN, NULL, TST_SR_TCONF},
{}
},
};
diff --git a/lib/newlib_tests/test20.c b/lib/newlib_tests/test20.c
index 3726cea0e..78abada11 100644
--- a/lib/newlib_tests/test20.c
+++ b/lib/newlib_tests/test20.c
@@ -16,10 +16,10 @@ static void do_test(void) {
unsigned long val, hpages;
tst_res(TINFO, "tst_hugepages = %lu", tst_hugepages);
- SAFE_FILE_PRINTF("/proc/sys/kernel/numa_balancing", "1");
+ SAFE_FILE_PRINTF(PATH_NUMA_BALANCING, "1");
hpages = test.hugepages.number;
- SAFE_FILE_SCANF(PATH_NR_HPAGES, "%lu", &val);
+ SAFE_FILE_SCANF(PATH_VM_NR_HPAGES, "%lu", &val);
if (val != hpages)
tst_brk(TBROK, "nr_hugepages = %lu, but expect %lu", val, hpages);
else
@@ -28,7 +28,7 @@ static void do_test(void) {
struct tst_hugepage hp = { 1000000000000, TST_REQUEST };
hpages = tst_reserve_hugepages(&hp);
- SAFE_FILE_SCANF(PATH_NR_HPAGES, "%lu", &val);
+ SAFE_FILE_SCANF(PATH_VM_NR_HPAGES, "%lu", &val);
if (val != hpages)
tst_brk(TBROK, "nr_hugepages = %lu, but expect %lu", val, hpages);
else
@@ -39,7 +39,7 @@ static struct tst_test test = {
.test_all = do_test,
.hugepages = {2, TST_NEEDS},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/kernel/numa_balancing", "0", TST_SR_TBROK},
+ {PATH_NUMA_BALANCING, "0", TST_SR_TBROK},
{}
},
};
diff --git a/lib/newlib_tests/test_zero_hugepage.c b/lib/newlib_tests/test_zero_hugepage.c
index eec48ffb4..a0bcdd0de 100644
--- a/lib/newlib_tests/test_zero_hugepage.c
+++ b/lib/newlib_tests/test_zero_hugepage.c
@@ -15,7 +15,7 @@ static void do_test(void)
{
unsigned long val, hpages;
- SAFE_FILE_SCANF(PATH_NR_HPAGES, "%lu", &val);
+ SAFE_FILE_SCANF(PATH_VM_NR_HPAGES, "%lu", &val);
if (val != 0)
tst_brk(TBROK, "nr_hugepages = %lu, but expect 0", val);
else
@@ -23,7 +23,7 @@ static void do_test(void)
struct tst_hugepage hp = { 3, TST_REQUEST };
hpages = tst_reserve_hugepages(&hp);
- SAFE_FILE_SCANF(PATH_NR_HPAGES, "%lu", &val);
+ SAFE_FILE_SCANF(PATH_VM_NR_HPAGES, "%lu", &val);
if (val != hpages)
tst_brk(TBROK, "nr_hugepages = %lu, but expect %lu", val, hpages);
else
diff --git a/lib/tst_hugepage.c b/lib/tst_hugepage.c
index d2e70a955..40ecfa162 100644
--- a/lib/tst_hugepage.c
+++ b/lib/tst_hugepage.c
@@ -14,7 +14,7 @@ char *Hopt;
size_t tst_get_hugepage_size(void)
{
- if (access(PATH_HUGEPAGES, F_OK))
+ if (access(PATH_MM_HUGEPAGES, F_OK))
return 0;
return SAFE_READ_MEMINFO("Hugepagesize:") * 1024;
@@ -24,12 +24,12 @@ unsigned long tst_reserve_hugepages(struct tst_hugepage *hp)
{
unsigned long val, max_hpages;
struct tst_path_val pvl = {
- .path = PATH_NR_HPAGES,
+ .path = PATH_VM_NR_HPAGES,
.val = NULL,
.flags = TST_SR_SKIP_MISSING | TST_SR_TCONF_RO
};
- if (access(PATH_HUGEPAGES, F_OK)) {
+ if (access(PATH_MM_HUGEPAGES, F_OK)) {
if (hp->policy == TST_NEEDS)
tst_brk(TCONF, "hugetlbfs is not supported");
tst_hugepages = 0;
@@ -46,8 +46,8 @@ unsigned long tst_reserve_hugepages(struct tst_hugepage *hp)
goto set_hugepages;
}
- SAFE_FILE_PRINTF("/proc/sys/vm/drop_caches", "3");
- SAFE_FILE_PRINTF("/proc/sys/vm/compact_memory", "1");
+ SAFE_FILE_PRINTF(PATH_VM_DROP_CACHES, "3");
+ SAFE_FILE_PRINTF(PATH_VM_COMPACT_MEMORY, "1");
if (hp->policy == TST_NEEDS) {
tst_hugepages += SAFE_READ_MEMINFO("HugePages_Total:");
goto set_hugepages;
@@ -66,8 +66,8 @@ unsigned long tst_reserve_hugepages(struct tst_hugepage *hp)
set_hugepages:
tst_sys_conf_save(&pvl);
- SAFE_FILE_PRINTF(PATH_NR_HPAGES, "%lu", tst_hugepages);
- SAFE_FILE_SCANF(PATH_NR_HPAGES, "%lu", &val);
+ SAFE_FILE_PRINTF(PATH_VM_NR_HPAGES, "%lu", tst_hugepages);
+ SAFE_FILE_SCANF(PATH_VM_NR_HPAGES, "%lu", &val);
if (val != tst_hugepages)
tst_brk(TCONF, "nr_hugepages = %lu, but expect %lu. "
"Not enough hugepages for testing.",
diff --git a/lib/tst_net.c b/lib/tst_net.c
index a97e25b11..bf94d526c 100644
--- a/lib/tst_net.c
+++ b/lib/tst_net.c
@@ -229,8 +229,8 @@ void tst_setup_netns(void)
int real_gid = getgid();
int nscount = 1;
- if (!access("/proc/sys/user/max_user_namespaces", F_OK)) {
- SAFE_FILE_SCANF("/proc/sys/user/max_user_namespaces", "%d",
+ if (!access(PATH_MAX_USER_NAMESPACES, F_OK)) {
+ SAFE_FILE_SCANF(PATH_MAX_USER_NAMESPACES, "%d",
&nscount);
}
diff --git a/lib/tst_test.c b/lib/tst_test.c
index 469a3f6b6..96714e4ea 100644
--- a/lib/tst_test.c
+++ b/lib/tst_test.c
@@ -1209,7 +1209,7 @@ static void prepare_and_mount_dev_fs(const char *mntpoint)
static void prepare_and_mount_hugetlb_fs(void)
{
- if (access(PATH_HUGEPAGES, F_OK))
+ if (access(PATH_MM_HUGEPAGES, F_OK))
tst_brk(TCONF, "hugetlbfs is not supported");
SAFE_MOUNT("none", tst_test->mntpoint, "hugetlbfs", 0, NULL);
diff --git a/libs/ipc/tse_ipc.c b/libs/ipc/tse_ipc.c
index 4fe4843d2..7c91efd39 100644
--- a/libs/ipc/tse_ipc.c
+++ b/libs/ipc/tse_ipc.c
@@ -22,6 +22,7 @@
*/
#define LIBIPC
+#include "tst_path_macros.h"
#include "tse_ipcmsg.h"
#include "tse_ipcsem.h"
@@ -190,7 +191,7 @@ int get_max_msgqueues(void)
char buff[BUFSIZE];
/* Get the max number of message queues allowed on system */
- f = fopen("/proc/sys/kernel/msgmni", "r");
+ f = fopen(PATH_MSGMNI, "r");
if (!f) {
tst_resm(TBROK, "Could not open /proc/sys/kernel/msgmni");
return -1;
diff --git a/testcases/cve/cve-2015-3290.c b/testcases/cve/cve-2015-3290.c
index cb60582b4..1cd7769f8 100644
--- a/testcases/cve/cve-2015-3290.c
+++ b/testcases/cve/cve-2015-3290.c
@@ -466,13 +466,11 @@ static void setup(void)
* knowing if perf_event_open() support is enabled is checking for
* the existence of the file /proc/sys/kernel/perf_event_paranoid.
*/
- if (access("/proc/sys/kernel/perf_event_paranoid", F_OK) == -1)
+ if (access(PATH_PERF_EVENT_PARANOID, F_OK) == -1)
tst_brk(TCONF, "Kernel doesn't have perf_event support");
- SAFE_FILE_SCANF("/proc/sys/kernel/perf_event_mlock_kb",
- "%d", &event_mlock_kb);
- SAFE_FILE_SCANF("/proc/sys/kernel/perf_event_max_sample_rate",
- "%d", &max_sample_rate);
+ SAFE_FILE_SCANF(PATH_PERF_EVENT_MLOCK_KB, "%d", &event_mlock_kb);
+ SAFE_FILE_SCANF(PATH_PERF_EVENT_MAX_SAMPLE_RATE, "%d", &max_sample_rate);
}
static void run(void)
diff --git a/testcases/cve/cve-2017-16939.c b/testcases/cve/cve-2017-16939.c
index 098a86841..f27165191 100644
--- a/testcases/cve/cve-2017-16939.c
+++ b/testcases/cve/cve-2017-16939.c
@@ -91,7 +91,7 @@ static struct tst_test test = {
NULL
},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/user/max_user_namespaces", "1024", TST_SR_SKIP},
+ {PATH_MAX_USER_NAMESPACES, "1024", TST_SR_SKIP},
{}
},
.tags = (const struct tst_tag[]) {
diff --git a/testcases/cve/cve-2022-4378.c b/testcases/cve/cve-2022-4378.c
index e7e2b9af3..e1a1f9d15 100644
--- a/testcases/cve/cve-2022-4378.c
+++ b/testcases/cve/cve-2022-4378.c
@@ -22,13 +22,13 @@ static struct testcase {
const char *path;
int err;
} testcase_list[] = {
- {"/proc/sys/net/ipv4/icmp_ratelimit", EINVAL},
- {"/proc/sys/net/ipv4/icmp_ratemask", EINVAL},
- {"/proc/sys/net/ipv4/icmp_echo_ignore_all", EINVAL},
- {"/proc/sys/net/ipv4/tcp_probe_interval", EINVAL},
- {"/proc/sys/net/ipv4/tcp_keepalive_time", EINVAL},
- {"/proc/sys/net/ipv4/tcp_notsent_lowat", EINVAL},
- {"/proc/sys/net/ipv4/ip_local_reserved_ports", 0}
+ {NET_IPV4_FP("icmp_ratelimit"), EINVAL},
+ {NET_IPV4_FP("icmp_ratemask"), EINVAL},
+ {NET_IPV4_FP("icmp_echo_ignore_all"), EINVAL},
+ {NET_IPV4_FP("tcp_probe_interval"), EINVAL},
+ {NET_IPV4_FP("tcp_keepalive_time"), EINVAL},
+ {NET_IPV4_FP("tcp_notsent_lowat"), EINVAL},
+ {NET_IPV4_FP("ip_local_reserved_ports"), 0}
};
static void setup(void)
@@ -93,7 +93,7 @@ static struct tst_test test = {
NULL
},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/user/max_user_namespaces", "1024", TST_SR_SKIP},
+ {PATH_MAX_USER_NAMESPACES, "1024", TST_SR_SKIP},
{}
},
.tags = (const struct tst_tag[]) {
diff --git a/testcases/cve/icmp_rate_limit01.c b/testcases/cve/icmp_rate_limit01.c
index 5193c5dfd..ca70aa3af 100644
--- a/testcases/cve/icmp_rate_limit01.c
+++ b/testcases/cve/icmp_rate_limit01.c
@@ -256,7 +256,7 @@ static struct tst_test test = {
NULL
},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/user/max_user_namespaces", "1024", TST_SR_SKIP},
+ {PATH_MAX_USER_NAMESPACES, "1024", TST_SR_SKIP},
{}
},
.tags = (const struct tst_tag[]) {
diff --git a/testcases/cve/tcindex01.c b/testcases/cve/tcindex01.c
index 478d75055..4f62fe7d3 100644
--- a/testcases/cve/tcindex01.c
+++ b/testcases/cve/tcindex01.c
@@ -149,7 +149,7 @@ static struct tst_test test = {
NULL
},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/user/max_user_namespaces", "1024", TST_SR_SKIP},
+ {PATH_MAX_USER_NAMESPACES, "1024", TST_SR_SKIP},
{}
},
.tags = (const struct tst_tag[]) {
diff --git a/testcases/kernel/containers/pidns/pidns05.c b/testcases/kernel/containers/pidns/pidns05.c
index 4b0478c84..51e6363fe 100644
--- a/testcases/kernel/containers/pidns/pidns05.c
+++ b/testcases/kernel/containers/pidns/pidns05.c
@@ -71,7 +71,7 @@ static int find_cinit_pids(pid_t *pids)
static void setup(void)
{
- SAFE_FILE_SCANF("/proc/sys/kernel/pid_max", "%d\n", &pid_max);
+ SAFE_FILE_SCANF(PATH_PID_MAX, "%d\n", &pid_max);
}
static void run(void)
diff --git a/testcases/kernel/containers/userns/userns01.c b/testcases/kernel/containers/userns/userns01.c
index 6ee9fa7d0..1b53040d6 100644
--- a/testcases/kernel/containers/userns/userns01.c
+++ b/testcases/kernel/containers/userns/userns01.c
@@ -22,9 +22,6 @@
#include <sys/capability.h>
#include "lapi/sched.h"
-#define OVERFLOWUIDPATH "/proc/sys/kernel/overflowuid"
-#define OVERFLOWGIDPATH "/proc/sys/kernel/overflowgid"
-
static long overflowuid;
static long overflowgid;
@@ -45,7 +42,7 @@ static void child_fn1(void)
caps = cap_get_proc();
- SAFE_FILE_SCANF("/proc/sys/kernel/cap_last_cap", "%d", &last_cap);
+ SAFE_FILE_SCANF(PATH_CAP_LAST_CAP, "%d", &last_cap);
for (i = 0; i <= last_cap; i++) {
cap_get_flag(caps, i, CAP_EFFECTIVE, &flag_val);
@@ -65,8 +62,8 @@ static void child_fn1(void)
static void setup(void)
{
- SAFE_FILE_SCANF(OVERFLOWUIDPATH, "%ld", &overflowuid);
- SAFE_FILE_SCANF(OVERFLOWGIDPATH, "%ld", &overflowgid);
+ SAFE_FILE_SCANF(PATH_OVERFLOWUID, "%ld", &overflowuid);
+ SAFE_FILE_SCANF(PATH_OVERFLOWGID, "%ld", &overflowgid);
}
static void run(void)
diff --git a/testcases/kernel/containers/userns/userns06_capcheck.c b/testcases/kernel/containers/userns/userns06_capcheck.c
index 8669657b9..0335c3a16 100644
--- a/testcases/kernel/containers/userns/userns06_capcheck.c
+++ b/testcases/kernel/containers/userns/userns06_capcheck.c
@@ -32,7 +32,7 @@ int main(int argc, char *argv[])
if (argc < 2)
tst_brk(TBROK, "userns06_capcheck <privileged|unprivileged>");
- SAFE_FILE_SCANF("/proc/sys/kernel/cap_last_cap", "%d", &last_cap);
+ SAFE_FILE_SCANF(PATH_CAP_LAST_CAP, "%d", &last_cap);
if (strcmp("privileged", argv[1]))
expected_cap_flag = 0;
diff --git a/testcases/kernel/containers/userns/userns07.c b/testcases/kernel/containers/userns/userns07.c
index 9e34a3d9b..737e6e8ee 100644
--- a/testcases/kernel/containers/userns/userns07.c
+++ b/testcases/kernel/containers/userns/userns07.c
@@ -93,7 +93,7 @@ static struct tst_test test = {
NULL,
},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/kernel/unprivileged_userns_clone", "1", TST_SR_SKIP},
+ {PATH_UNPRIVILEGED_USERNS_CLONE, "1", TST_SR_SKIP},
{}
},
};
diff --git a/testcases/kernel/containers/userns/userns08.c b/testcases/kernel/containers/userns/userns08.c
index fbe51c8a5..e1de8ead2 100644
--- a/testcases/kernel/containers/userns/userns08.c
+++ b/testcases/kernel/containers/userns/userns08.c
@@ -119,7 +119,7 @@ static void setup(void)
SAFE_WRITE(SAFE_WRITE_ALL, fd, "\n", 1);
SAFE_CLOSE(fd);
- SAFE_TRY_FILE_PRINTF("/proc/sys/user/max_user_namespaces", "%d", 10);
+ SAFE_TRY_FILE_PRINTF(PATH_MAX_USER_NAMESPACES, "%d", 10);
}
static struct tst_test test = {
@@ -133,8 +133,8 @@ static struct tst_test test = {
NULL
},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/user/max_user_namespaces", NULL, TST_SR_SKIP},
- {"/proc/sys/kernel/unprivileged_userns_clone", "1", TST_SR_SKIP},
+ {PATH_MAX_USER_NAMESPACES, NULL, TST_SR_SKIP},
+ {PATH_UNPRIVILEGED_USERNS_CLONE, "1", TST_SR_SKIP},
{}
},
.tags = (const struct tst_tag[]) {
diff --git a/testcases/kernel/include/ksm_helper.h b/testcases/kernel/include/ksm_helper.h
index d4a6d5c7d..a5d3f0a92 100644
--- a/testcases/kernel/include/ksm_helper.h
+++ b/testcases/kernel/include/ksm_helper.h
@@ -7,7 +7,7 @@
#ifndef KSM_HELPER_H
#define KSM_HELPER_H
-#define PATH_KSM "/sys/kernel/mm/ksm/"
+#include "tst_path_macros.h"
void wait_ksmd_full_scan(void);
diff --git a/testcases/kernel/io/ltp-aiodio/aio-stress.c b/testcases/kernel/io/ltp-aiodio/aio-stress.c
index 5cce92dfa..8f596bf2d 100644
--- a/testcases/kernel/io/ltp-aiodio/aio-stress.c
+++ b/testcases/kernel/io/ltp-aiodio/aio-stress.c
@@ -1166,7 +1166,7 @@ static void setup(void)
page_size_mask = getpagesize() - 1;
- SAFE_FILE_SCANF("/proc/sys/fs/aio-max-nr", "%d", &maxaio);
+ SAFE_FILE_SCANF(PATH_FS_NR_AIO_MAX_NR, "%d", &maxaio);
tst_res(TINFO, "Maximum AIO blocks: %d", maxaio);
if (tst_parse_int(str_num_files, &num_files, 1, INT_MAX))
diff --git a/testcases/kernel/io/ltp-aiodio/aiodio_append.c b/testcases/kernel/io/ltp-aiodio/aiodio_append.c
index f1e7025fe..f9cf2df47 100644
--- a/testcases/kernel/io/ltp-aiodio/aiodio_append.c
+++ b/testcases/kernel/io/ltp-aiodio/aiodio_append.c
@@ -106,7 +106,7 @@ static void setup(void)
if (tst_parse_int(str_numaio, &numaio, 1, INT_MAX))
tst_brk(TBROK, "Number of async IO blocks '%s'", str_numaio);
- SAFE_FILE_SCANF("/proc/sys/fs/aio-max-nr", "%d", &maxaio);
+ SAFE_FILE_SCANF(PATH_FS_NR_AIO_MAX_NR, "%d", &maxaio);
tst_res(TINFO, "Maximum AIO blocks: %d", maxaio);
if (numaio > maxaio)
diff --git a/testcases/kernel/lib/ksm_helper.c b/testcases/kernel/lib/ksm_helper.c
index 586a0d1ee..0a19e1f05 100644
--- a/testcases/kernel/lib/ksm_helper.c
+++ b/testcases/kernel/lib/ksm_helper.c
@@ -15,7 +15,7 @@ void wait_ksmd_full_scan(void)
unsigned long full_scans, at_least_one_full_scan;
int count = 0;
- SAFE_FILE_SCANF(PATH_KSM "full_scans", "%lu", &full_scans);
+ SAFE_FILE_SCANF(MM_KSM_FP("full_scans"), "%lu", &full_scans);
/*
* The current scan is already in progress so we can't guarantee that
* the get_user_pages() is called on every existing rmap_item if we
@@ -30,7 +30,7 @@ void wait_ksmd_full_scan(void)
while (full_scans < at_least_one_full_scan) {
sleep(1);
count++;
- SAFE_FILE_SCANF(PATH_KSM "full_scans", "%lu", &full_scans);
+ SAFE_FILE_SCANF(MM_KSM_FP("full_scans"), "%lu", &full_scans);
}
tst_res(TINFO, "ksm daemon takes %ds to run two full scans", count);
diff --git a/testcases/kernel/logging/kmsg/kmsg01.c b/testcases/kernel/logging/kmsg/kmsg01.c
index ba8179d5a..a06312d59 100644
--- a/testcases/kernel/logging/kmsg/kmsg01.c
+++ b/testcases/kernel/logging/kmsg/kmsg01.c
@@ -32,8 +32,7 @@
#define NUM_READ_MSGS 3
#define NUM_READ_RETRY 10
#define NUM_OVERWRITE_MSGS 1024
-#define PRINTK "/proc/sys/kernel/printk"
-#define CONSOLE_LOGLEVEL_QUIET 4
+#define CONSOLE_LOGLEVEL_QUIET 4
static int console_loglevel = -1;
@@ -556,16 +555,16 @@ static void test_kmsg(void)
static void setup(void)
{
- if (access(PRINTK, F_OK) == 0) {
- SAFE_FILE_SCANF(PRINTK, "%d", &console_loglevel);
- SAFE_FILE_PRINTF(PRINTK, "%d", CONSOLE_LOGLEVEL_QUIET);
+ if (access(PATH_PRINTK, F_OK) == 0) {
+ SAFE_FILE_SCANF(PATH_PRINTK, "%d", &console_loglevel);
+ SAFE_FILE_PRINTF(PATH_PRINTK, "%d", CONSOLE_LOGLEVEL_QUIET);
}
}
static void cleanup(void)
{
if (console_loglevel != -1)
- SAFE_FILE_PRINTF(PRINTK, "%d", console_loglevel);
+ SAFE_FILE_PRINTF(PATH_PRINTK, "%d", console_loglevel);
}
static struct tst_test test = {
diff --git a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap05.c b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap05.c
index 75f28102d..cefba450a 100644
--- a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap05.c
+++ b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap05.c
@@ -31,10 +31,6 @@ static char path_sys_sz_resv[BUFSIZ];
static char path_sys_sz_surp[BUFSIZ];
static char path_sys_sz_huge[BUFSIZ];
-#define PATH_PROC_VM "/proc/sys/vm/"
-#define PATH_PROC_OVER PATH_PROC_VM "nr_overcommit_hugepages"
-#define PATH_PROC_HUGE PATH_PROC_VM "nr_hugepages"
-
/* Only ia64 requires this */
#ifdef __ia64__
#define ADDR (void *)(0x8000000000000000UL)
@@ -191,8 +187,8 @@ static void setup(void)
path = path_sys_sz_huge;
pathover = path_sys_sz_over;
} else {
- path = PATH_PROC_HUGE;
- pathover = PATH_PROC_OVER;
+ path = PATH_VM_NR_HPAGES;
+ pathover = PATH_VM_OVERCOMMIT_HPAGES;
}
if (opt_alloc) {
diff --git a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap08.c b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap08.c
index b9d61dd66..07fd70b43 100644
--- a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap08.c
+++ b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap08.c
@@ -102,11 +102,11 @@ static void run_test(unsigned int test_type)
switch (test_type) {
case WITHOUT_OVERCOMMIT:
tst_res(TINFO, "Without overcommit testing...");
- SAFE_FILE_PRINTF(PATH_OC_HPAGES, "%d", 0);
+ SAFE_FILE_PRINTF(PATH_VM_OVERCOMMIT_HPAGES, "%d", 0);
break;
case WITH_OVERCOMMIT:
tst_res(TINFO, "With overcommit testing...");
- SAFE_FILE_PRINTF(PATH_OC_HPAGES, "%d", 2);
+ SAFE_FILE_PRINTF(PATH_VM_OVERCOMMIT_HPAGES, "%d", 2);
break;
}
test_chunk_overcommit();
@@ -129,7 +129,7 @@ static struct tst_test test = {
.needs_hugetlbfs = 1,
.forks_child = 1,
.save_restore = (const struct tst_path_val[]) {
- {PATH_OC_HPAGES, NULL, TST_SR_TCONF},
+ {PATH_VM_OVERCOMMIT_HPAGES, NULL, TST_SR_TCONF},
{}
},
.tcnt = 2,
diff --git a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap10.c b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap10.c
index e1795153d..5b5577a0e 100644
--- a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap10.c
+++ b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap10.c
@@ -134,7 +134,7 @@ static int set_nr_hugepages_(long count, char *desc, int line)
long min_size;
long et, ef, er, es;
- SAFE_FILE_PRINTF(PATH_NR_HPAGES, "%lu", count);
+ SAFE_FILE_PRINTF(PATH_VM_NR_HPAGES, "%lu", count);
/* The code below is based on set_max_huge_pages in mm/hugetlb.c */
es = prev_surp;
@@ -433,7 +433,7 @@ static void run_test(void)
static void setup(void)
{
hpage_size = SAFE_READ_MEMINFO(MEMINFO_HPAGE_SIZE)*1024;
- SAFE_FILE_PRINTF(PATH_OC_HPAGES, "%lu", tst_hugepages);
+ SAFE_FILE_PRINTF(PATH_VM_OVERCOMMIT_HPAGES, "%lu", tst_hugepages);
private_resv = kernel_has_private_reservations();
}
@@ -447,8 +447,8 @@ static struct tst_test test = {
.mntpoint = MNTPOINT,
.needs_hugetlbfs = 1,
.save_restore = (const struct tst_path_val[]) {
- {PATH_OC_HPAGES, NULL, TST_SR_TCONF},
- {PATH_NR_HPAGES, NULL, TST_SR_TCONF},
+ {PATH_VM_OVERCOMMIT_HPAGES, NULL, TST_SR_TCONF},
+ {PATH_VM_NR_HPAGES, NULL, TST_SR_TCONF},
{}
},
.setup = setup,
diff --git a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap32.c b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap32.c
index 188ee2176..b8636cbbd 100644
--- a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap32.c
+++ b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap32.c
@@ -21,7 +21,6 @@
#include "hugetlb.h"
-#define PATH_HUGEPAGE "/sys/kernel/mm/hugepages"
#define GIGANTIC_MIN_ORDER 10
static int org_g_hpages;
@@ -45,14 +44,14 @@ static void setup(void)
struct dirent *ent;
unsigned long hpage_size;
- if (access(PATH_HUGEPAGE, F_OK))
+ if (access(PATH_MM_HUGEPAGES, F_OK))
tst_brk(TCONF, "hugetlbfs is not supported");
- dir = SAFE_OPENDIR(PATH_HUGEPAGE);
+ dir = SAFE_OPENDIR(PATH_MM_HUGEPAGES);
while ((ent = SAFE_READDIR(dir))) {
if ((sscanf(ent->d_name, "hugepages-%lukB", &hpage_size) == 1) &&
is_hugetlb_gigantic(hpage_size * 1024)) {
- sprintf(g_hpage_path, "%s/%s/%s", PATH_HUGEPAGE,
+ sprintf(g_hpage_path, "%s/%s/%s", PATH_MM_HUGEPAGES,
ent->d_name, "nr_hugepages");
break;
}
@@ -62,8 +61,8 @@ static void setup(void)
SAFE_CLOSEDIR(dir);
- SAFE_FILE_PRINTF("/proc/sys/vm/drop_caches", "3");
- SAFE_FILE_PRINTF("/proc/sys/vm/compact_memory", "1");
+ SAFE_FILE_PRINTF(PATH_VM_DROP_CACHES, "3");
+ SAFE_FILE_PRINTF(PATH_VM_COMPACT_MEMORY, "1");
if (tst_available_mem() < (long long)hpage_size) {
g_hpage_path[0] = '\0';
diff --git a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap34.c b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap34.c
index ab7469cd7..52d6f43f8 100644
--- a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap34.c
+++ b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap34.c
@@ -32,7 +32,6 @@
#define STACK_ALLOCATION_SIZE (16*1024*1024)
#endif
#define MNTPOINT "hugetlbfs/"
-#define PATH_HUGEPAGE "/sys/kernel/mm/hugepages"
#define STACKS_MAX 64
diff --git a/testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat04.c b/testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat04.c
index 9f877fd07..dfbad4b1a 100644
--- a/testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat04.c
+++ b/testcases/kernel/mem/hugetlb/hugeshmat/hugeshmat04.c
@@ -82,7 +82,7 @@ static void setup(void)
long hpage_size, orig_hugepages;
unsigned long new_shmmax;
- orig_hugepages = TST_SYS_CONF_LONG_GET("/proc/sys/vm/nr_hugepages");
+ orig_hugepages = TST_SYS_CONF_LONG_GET(PATH_VM_NR_HPAGES);
SAFE_FILE_SCANF(PATH_SHMMAX, "%lu", &new_shmmax);
if (new_shmmax < SIZE)
diff --git a/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget03.c b/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget03.c
index 625761f6e..f05bfd97b 100644
--- a/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget03.c
+++ b/testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget03.c
@@ -19,7 +19,6 @@
* depending on the system being tested.
*/
#define MAXIDS 8192
-#define PATH_SHMMNI "/proc/sys/kernel/shmmni"
static size_t shm_size;
static int shm_id_1 = -1;
diff --git a/testcases/kernel/mem/hugetlb/lib/hugetlb.h b/testcases/kernel/mem/hugetlb/lib/hugetlb.h
index fa742eb8d..6b5d3a00b 100644
--- a/testcases/kernel/mem/hugetlb/lib/hugetlb.h
+++ b/testcases/kernel/mem/hugetlb/lib/hugetlb.h
@@ -29,8 +29,6 @@
#define SHM_HUGETLB 04000 /* segment is mapped via hugetlb */
#endif
-#define PATH_SHMMAX "/proc/sys/kernel/shmmax"
-
#ifndef barrier
# ifdef mb
/* Redefining the mb() */
diff --git a/testcases/kernel/mem/ksm/ksm01.c b/testcases/kernel/mem/ksm/ksm01.c
index be03f943f..d61ac77b5 100644
--- a/testcases/kernel/mem/ksm/ksm01.c
+++ b/testcases/kernel/mem/ksm/ksm01.c
@@ -74,13 +74,13 @@ static struct tst_test test = {
},
.setup = setup,
.save_restore = (const struct tst_path_val[]) {
- {"/sys/kernel/mm/ksm/run", NULL, TST_SR_TBROK},
- {"/sys/kernel/mm/ksm/sleep_millisecs", NULL, TST_SR_TBROK},
- {"/sys/kernel/mm/ksm/max_page_sharing", NULL,
+ {MM_KSM_FP("run"), NULL, TST_SR_TBROK},
+ {MM_KSM_FP("sleep_millisecs"), NULL, TST_SR_TBROK},
+ {MM_KSM_FP("max_page_sharing"), NULL,
TST_SR_SKIP_MISSING | TST_SR_TCONF_RO},
- {"/sys/kernel/mm/ksm/merge_across_nodes", "1",
+ {MM_KSM_FP("merge_across_nodes"), "1",
TST_SR_SKIP_MISSING | TST_SR_TCONF_RO},
- {"/sys/kernel/mm/ksm/smart_scan", "0",
+ {MM_KSM_FP("smart_scan"), "0",
TST_SR_SKIP_MISSING | TST_SR_TBROK_RO},
{}
},
diff --git a/testcases/kernel/mem/ksm/ksm02.c b/testcases/kernel/mem/ksm/ksm02.c
index 147e7e834..c2e276ccc 100644
--- a/testcases/kernel/mem/ksm/ksm02.c
+++ b/testcases/kernel/mem/ksm/ksm02.c
@@ -97,13 +97,13 @@ static struct tst_test test = {
},
.setup = setup,
.save_restore = (const struct tst_path_val[]) {
- {"/sys/kernel/mm/ksm/run", NULL, TST_SR_TBROK},
- {"/sys/kernel/mm/ksm/sleep_millisecs", NULL, TST_SR_TBROK},
- {"/sys/kernel/mm/ksm/max_page_sharing", NULL,
+ {MM_KSM_FP("run"), NULL, TST_SR_TBROK},
+ {MM_KSM_FP("sleep_millisecs"), NULL, TST_SR_TBROK},
+ {MM_KSM_FP("max_page_sharing"), NULL,
TST_SR_SKIP_MISSING | TST_SR_TCONF_RO},
- {"/sys/kernel/mm/ksm/merge_across_nodes", "1",
+ {MM_KSM_FP("merge_across_nodes"), "1",
TST_SR_SKIP_MISSING | TST_SR_TCONF_RO},
- {"/sys/kernel/mm/ksm/smart_scan", "0",
+ {MM_KSM_FP("smart_scan"), "0",
TST_SR_SKIP_MISSING | TST_SR_TBROK_RO},
{}
},
diff --git a/testcases/kernel/mem/ksm/ksm03.c b/testcases/kernel/mem/ksm/ksm03.c
index 34a086ae7..2ca15bf3a 100644
--- a/testcases/kernel/mem/ksm/ksm03.c
+++ b/testcases/kernel/mem/ksm/ksm03.c
@@ -79,13 +79,13 @@ static struct tst_test test = {
},
.setup = setup,
.save_restore = (const struct tst_path_val[]) {
- {"/sys/kernel/mm/ksm/run", NULL, TST_SR_TBROK},
- {"/sys/kernel/mm/ksm/sleep_millisecs", NULL, TST_SR_TBROK},
- {"/sys/kernel/mm/ksm/max_page_sharing", NULL,
+ {MM_KSM_FP("run"), NULL, TST_SR_TBROK},
+ {MM_KSM_FP("sleep_millisecs"), NULL, TST_SR_TBROK},
+ {MM_KSM_FP("max_page_sharing"), NULL,
TST_SR_SKIP_MISSING | TST_SR_TCONF_RO},
- {"/sys/kernel/mm/ksm/merge_across_nodes", "1",
+ {MM_KSM_FP("merge_across_nodes"), "1",
TST_SR_SKIP_MISSING | TST_SR_TCONF_RO},
- {"/sys/kernel/mm/ksm/smart_scan", "0",
+ {MM_KSM_FP("smart_scan"), "0",
TST_SR_SKIP_MISSING | TST_SR_TBROK_RO},
{}
},
diff --git a/testcases/kernel/mem/ksm/ksm04.c b/testcases/kernel/mem/ksm/ksm04.c
index a9a06be40..dfc62a78d 100644
--- a/testcases/kernel/mem/ksm/ksm04.c
+++ b/testcases/kernel/mem/ksm/ksm04.c
@@ -86,13 +86,13 @@ static struct tst_test test = {
},
.setup = setup,
.save_restore = (const struct tst_path_val[]) {
- {"/sys/kernel/mm/ksm/run", NULL, TST_SR_TBROK},
- {"/sys/kernel/mm/ksm/sleep_millisecs", NULL, TST_SR_TBROK},
- {"/sys/kernel/mm/ksm/max_page_sharing", NULL,
+ {MM_KSM_FP("run"), NULL, TST_SR_TBROK},
+ {MM_KSM_FP("sleep_millisecs"), NULL, TST_SR_TBROK},
+ {MM_KSM_FP("max_page_sharing"), NULL,
TST_SR_SKIP_MISSING | TST_SR_TCONF_RO},
- {"/sys/kernel/mm/ksm/merge_across_nodes", "1",
+ {MM_KSM_FP("merge_across_nodes"), "1",
TST_SR_SKIP_MISSING | TST_SR_TCONF_RO},
- {"/sys/kernel/mm/ksm/smart_scan", "0",
+ {MM_KSM_FP("smart_scan"), "0",
TST_SR_SKIP_MISSING | TST_SR_TBROK_RO},
{}
},
diff --git a/testcases/kernel/mem/ksm/ksm05.c b/testcases/kernel/mem/ksm/ksm05.c
index 96ffad511..047acd2bf 100644
--- a/testcases/kernel/mem/ksm/ksm05.c
+++ b/testcases/kernel/mem/ksm/ksm05.c
@@ -93,8 +93,8 @@ static struct tst_test test = {
.forks_child = 1,
.test_all = test_ksm,
.save_restore = (const struct tst_path_val[]) {
- {"/sys/kernel/mm/ksm/run", "1", TST_SR_TBROK},
- {"/sys/kernel/mm/ksm/smart_scan", "0",
+ {MM_KSM_FP("run"), "1", TST_SR_TBROK},
+ {MM_KSM_FP("smart_scan"), "0",
TST_SR_SKIP_MISSING | TST_SR_TBROK_RO},
{}
},
diff --git a/testcases/kernel/mem/ksm/ksm06.c b/testcases/kernel/mem/ksm/ksm06.c
index 22371ea53..e8caf361f 100644
--- a/testcases/kernel/mem/ksm/ksm06.c
+++ b/testcases/kernel/mem/ksm/ksm06.c
@@ -78,8 +78,8 @@ static void test_ksm(void)
numa_free_nodemask(bm);
- SAFE_FILE_PRINTF(PATH_KSM "sleep_millisecs", "0");
- SAFE_FILE_PRINTF(PATH_KSM "pages_to_scan", "%ld",
+ SAFE_FILE_PRINTF(PATH_MM_KSM "sleep_millisecs", "0");
+ SAFE_FILE_PRINTF(PATH_MM_KSM "pages_to_scan", "%ld",
nr_pages * nodes->cnt);
/*
* merge_across_nodes and max_page_sharing setting can be changed
@@ -87,24 +87,24 @@ static void test_ksm(void)
* to unmerge pages first, then to 1 after changing merge_across_nodes,
* to remerge according to the new setting.
*/
- SAFE_FILE_PRINTF(PATH_KSM "run", "2");
- if (access(PATH_KSM "max_page_sharing", F_OK) == 0)
- SAFE_FILE_PRINTF(PATH_KSM "max_page_sharing",
+ SAFE_FILE_PRINTF(PATH_MM_KSM "run", "2");
+ if (access(PATH_MM_KSM "max_page_sharing", F_OK) == 0)
+ SAFE_FILE_PRINTF(PATH_MM_KSM "max_page_sharing",
"%ld", nr_pages * nodes->cnt);
tst_res(TINFO, "Start to test KSM with merge_across_nodes=1");
- SAFE_FILE_PRINTF(PATH_KSM "merge_across_nodes", "1");
- SAFE_FILE_PRINTF(PATH_KSM "run", "1");
+ SAFE_FILE_PRINTF(PATH_MM_KSM "merge_across_nodes", "1");
+ SAFE_FILE_PRINTF(PATH_MM_KSM "run", "1");
ksm_group_check(1, 1, nr_pages * nodes->cnt - 1, 0, 0, 0,
nr_pages * nodes->cnt);
- SAFE_FILE_PRINTF(PATH_KSM "run", "2");
+ SAFE_FILE_PRINTF(PATH_MM_KSM "run", "2");
tst_res(TINFO, "Start to test KSM with merge_across_nodes=0");
- SAFE_FILE_PRINTF(PATH_KSM "merge_across_nodes", "0");
- SAFE_FILE_PRINTF(PATH_KSM "run", "1");
+ SAFE_FILE_PRINTF(PATH_MM_KSM "merge_across_nodes", "0");
+ SAFE_FILE_PRINTF(PATH_MM_KSM "run", "1");
ksm_group_check(1, nodes->cnt, nr_pages * nodes->cnt - nodes->cnt,
0, 0, 0, nr_pages * nodes->cnt);
- SAFE_FILE_PRINTF(PATH_KSM "run", "2");
+ SAFE_FILE_PRINTF(PATH_MM_KSM "run", "2");
for (i = 0; i < nodes->cnt; i++)
SAFE_MUNMAP(memory[i], length);
@@ -132,12 +132,12 @@ static struct tst_test test = {
},
.setup = setup,
.save_restore = (const struct tst_path_val[]) {
- {"/sys/kernel/mm/ksm/max_page_sharing", NULL,
+ {MM_KSM_FP("max_page_sharing"), NULL,
TST_SR_SKIP_MISSING | TST_SR_TCONF_RO},
- {"/sys/kernel/mm/ksm/run", NULL, TST_SR_TBROK},
- {"/sys/kernel/mm/ksm/sleep_millisecs", NULL, TST_SR_TBROK},
- {"/sys/kernel/mm/ksm/merge_across_nodes", NULL, TST_SR_TCONF},
- {"/sys/kernel/mm/ksm/smart_scan", "0",
+ {MM_KSM_FP("run"), NULL, TST_SR_TBROK},
+ {MM_KSM_FP("sleep_millisecs"), NULL, TST_SR_TBROK},
+ {MM_KSM_FP("merge_across_nodes"), NULL, TST_SR_TCONF},
+ {MM_KSM_FP("smart_scan"), "0",
TST_SR_SKIP_MISSING | TST_SR_TBROK_RO},
{}
},
diff --git a/testcases/kernel/mem/ksm/ksm07.c b/testcases/kernel/mem/ksm/ksm07.c
index 6b97b4591..90e069033 100644
--- a/testcases/kernel/mem/ksm/ksm07.c
+++ b/testcases/kernel/mem/ksm/ksm07.c
@@ -57,24 +57,24 @@ static void verify_ksm(void)
tst_res(TINFO, "KSM merging");
- if (access(PATH_KSM "max_page_sharing", F_OK) == 0)
- SAFE_FILE_PRINTF(PATH_KSM "run", "2");
+ if (access(MM_KSM_FP("max_page_sharing"), F_OK) == 0)
+ SAFE_FILE_PRINTF(MM_KSM_FP("run"), "2");
/* Set defalut ksm scan values. */
- SAFE_FILE_PRINTF(PATH_KSM "run", "1");
- SAFE_FILE_PRINTF(PATH_KSM "pages_to_scan", "%ld", 100l);
- SAFE_FILE_PRINTF(PATH_KSM "sleep_millisecs", "0");
+ SAFE_FILE_PRINTF(MM_KSM_FP("run"), "1");
+ SAFE_FILE_PRINTF(MM_KSM_FP("pages_to_scan"), "%ld", 100l);
+ SAFE_FILE_PRINTF(MM_KSM_FP("sleep_millisecs"), "0");
/* Measure pages skipped aka "smart scan". */
- SAFE_FILE_SCANF(PATH_KSM "full_scans", "%d", &full_scans_begin);
- SAFE_FILE_SCANF(PATH_KSM "pages_skipped", "%d", &pages_skipped_begin);
+ SAFE_FILE_SCANF(MM_KSM_FP("full_scans"), "%d", &full_scans_begin);
+ SAFE_FILE_SCANF(MM_KSM_FP("pages_skipped"), "%d", &pages_skipped_begin);
wait_ksmd_full_scan();
tst_res(TINFO, "stop KSM");
- SAFE_FILE_PRINTF(PATH_KSM "run", "0");
+ SAFE_FILE_PRINTF(MM_KSM_FP("run"), "0");
- SAFE_FILE_SCANF(PATH_KSM "full_scans", "%d", &full_scans_end);
- SAFE_FILE_SCANF(PATH_KSM "pages_skipped", "%d", &pages_skipped_end);
+ SAFE_FILE_SCANF(MM_KSM_FP("full_scans"), "%d", &full_scans_end);
+ SAFE_FILE_SCANF(MM_KSM_FP("pages_skipped"), "%d", &pages_skipped_end);
diff_pages = pages_skipped_end - pages_skipped_begin;
diff_scans = full_scans_end - full_scans_begin;
@@ -98,10 +98,10 @@ static struct tst_test test = {
{}
},
.save_restore = (const struct tst_path_val[]) {
- {PATH_KSM "pages_skipped", NULL, TST_SR_TCONF},
- {PATH_KSM "run", NULL, TST_SR_TCONF},
- {PATH_KSM "sleep_millisecs", NULL, TST_SR_TCONF},
- {PATH_KSM "smart_scan", "1",
+ {MM_KSM_FP("pages_skipped"), NULL, TST_SR_TCONF},
+ {MM_KSM_FP("run"), NULL, TST_SR_TCONF},
+ {MM_KSM_FP("sleep_millisecs"), NULL, TST_SR_TCONF},
+ {MM_KSM_FP("smart_scan"), "1",
TST_SR_SKIP_MISSING | TST_SR_TCONF},
{}
},
diff --git a/testcases/kernel/mem/ksm/ksm_test.h b/testcases/kernel/mem/ksm/ksm_test.h
index cbad147d4..c5c9d0337 100644
--- a/testcases/kernel/mem/ksm/ksm_test.h
+++ b/testcases/kernel/mem/ksm/ksm_test.h
@@ -13,7 +13,7 @@ static inline void check(char *path, long int value)
char fullpath[BUFSIZ];
long actual_val;
- snprintf(fullpath, BUFSIZ, PATH_KSM "%s", path);
+ snprintf(fullpath, BUFSIZ, PATH_MM_KSM "%s", path);
SAFE_FILE_SCANF(fullpath, "%ld", &actual_val);
if (actual_val != value)
@@ -41,8 +41,8 @@ static inline void final_group_check(int run, int pages_shared, int pages_sharin
* can lead to unexpected false positives where page_volatile
* is elevated and page_unshared is recessed.
*/
- SAFE_FILE_SCANF(PATH_KSM "run", "%d", &ksm_run_orig);
- SAFE_FILE_PRINTF(PATH_KSM "run", "0");
+ SAFE_FILE_SCANF(MM_KSM_FP("run"), "%d", &ksm_run_orig);
+ SAFE_FILE_PRINTF(MM_KSM_FP("run"), "0");
check("pages_shared", pages_shared);
check("pages_sharing", pages_sharing);
@@ -51,7 +51,7 @@ static inline void final_group_check(int run, int pages_shared, int pages_sharin
check("sleep_millisecs", sleep_millisecs);
check("pages_to_scan", pages_to_scan);
- SAFE_FILE_PRINTF(PATH_KSM "run", "%d", ksm_run_orig);
+ SAFE_FILE_PRINTF(MM_KSM_FP("run"), "%d", ksm_run_orig);
}
static inline void ksm_group_check(int run, int pages_shared, int pages_sharing,
@@ -251,14 +251,14 @@ static inline void create_same_memory(unsigned int size, int num, unsigned int u
stop_ksm_children(child, num);
tst_res(TINFO, "KSM merging...");
- if (access(PATH_KSM "max_page_sharing", F_OK) == 0) {
- SAFE_FILE_PRINTF(PATH_KSM "run", "2");
- SAFE_FILE_PRINTF(PATH_KSM "max_page_sharing", "%ld", size * pages * num);
+ if (access(MM_KSM_FP("max_page_sharing"), F_OK) == 0) {
+ SAFE_FILE_PRINTF(MM_KSM_FP("run"), "2");
+ SAFE_FILE_PRINTF(MM_KSM_FP("max_page_sharing"), "%ld", size * pages * num);
}
- SAFE_FILE_PRINTF(PATH_KSM "run", "1");
- SAFE_FILE_PRINTF(PATH_KSM "pages_to_scan", "%ld", size * pages * num);
- SAFE_FILE_PRINTF(PATH_KSM "sleep_millisecs", "0");
+ SAFE_FILE_PRINTF(MM_KSM_FP("run"), "1");
+ SAFE_FILE_PRINTF(MM_KSM_FP("pages_to_scan"), "%ld", size * pages * num);
+ SAFE_FILE_PRINTF(MM_KSM_FP("sleep_millisecs"), "0");
resume_ksm_children(child, num);
stop_ksm_children(child, num);
@@ -277,13 +277,13 @@ static inline void create_same_memory(unsigned int size, int num, unsigned int u
ksm_group_check(1, 1, size * num * pages - 2, 0, 1, 0, size * pages * num);
tst_res(TINFO, "KSM unmerging...");
- SAFE_FILE_PRINTF(PATH_KSM "run", "2");
+ SAFE_FILE_PRINTF(MM_KSM_FP("run"), "2");
resume_ksm_children(child, num);
final_group_check(2, 0, 0, 0, 0, 0, size * pages * num);
tst_res(TINFO, "stop KSM.");
- SAFE_FILE_PRINTF(PATH_KSM "run", "0");
+ SAFE_FILE_PRINTF(MM_KSM_FP("run"), "0");
final_group_check(0, 0, 0, 0, 0, 0, size * pages * num);
while (waitpid(-1, &status, 0) > 0)
diff --git a/testcases/kernel/mem/oom/oom.h b/testcases/kernel/mem/oom/oom.h
index 42ed181b0..5e3c701e3 100644
--- a/testcases/kernel/mem/oom/oom.h
+++ b/testcases/kernel/mem/oom/oom.h
@@ -7,11 +7,10 @@
#define OOM_H_
#include <pthread.h>
+#include "tst_path_macros.h"
#include "config.h"
#include "numa_helper.h"
-#define PATH_KSM "/sys/kernel/mm/ksm/"
-
#define LENGTH (3UL<<30)
#define NORMAL 1
#define MLOCK 2
@@ -217,15 +216,15 @@ static inline void testoom(int mempolicy, int lite, int retcode, int allow_sigki
* Skip oom(KSM) if lite == 1, since limit_in_bytes may vary from
* run to run, which isn't reliable for oom03 cgroup test.
*/
- if (access(PATH_KSM, F_OK) == -1 || lite == 1) {
+ if (access(PATH_MM_KSM, F_OK) == -1 || lite == 1) {
tst_res(TINFO, "KSM is not configed or lite == 1, "
"skip OOM test for KSM pags");
} else {
tst_res(TINFO, "start OOM testing for KSM pages.");
- SAFE_FILE_SCANF(PATH_KSM "run", "%d", &ksm_run_orig);
- SAFE_FILE_PRINTF(PATH_KSM "run", "1");
+ SAFE_FILE_SCANF(MM_KSM_FP("run"), "%d", &ksm_run_orig);
+ SAFE_FILE_PRINTF(MM_KSM_FP("run"), "1");
oom(KSM, lite, retcode, allow_sigkill);
- SAFE_FILE_PRINTF(PATH_KSM "run", "%d", ksm_run_orig);
+ SAFE_FILE_PRINTF(MM_KSM_FP("run"), "%d", ksm_run_orig);
}
}
diff --git a/testcases/kernel/mem/oom/oom01.c b/testcases/kernel/mem/oom/oom01.c
index 48fe85849..ebf604ab6 100644
--- a/testcases/kernel/mem/oom/oom01.c
+++ b/testcases/kernel/mem/oom/oom01.c
@@ -17,20 +17,18 @@
#include "tst_test.h"
#include "oom.h"
-#define OVERCOMMIT_MEMORY "/proc/sys/vm/overcommit_memory"
-
static void verify_oom(void)
{
/* we expect mmap to fail before OOM is hit */
- TST_SYS_CONF_LONG_SET(OVERCOMMIT_MEMORY, 2, 1);
+ TST_SYS_CONF_LONG_SET(PATH_VM_OVERCOMMIT_MEMORY, 2, 1);
oom(NORMAL, 0, ENOMEM, 0);
/* with overcommit_memory set to 0 or 1 there's no
* guarantee that mmap fails before OOM */
- TST_SYS_CONF_LONG_SET(OVERCOMMIT_MEMORY, 0, 1);
+ TST_SYS_CONF_LONG_SET(PATH_VM_OVERCOMMIT_MEMORY, 0, 1);
oom(NORMAL, 0, ENOMEM, 1);
- TST_SYS_CONF_LONG_SET(OVERCOMMIT_MEMORY, 1, 1);
+ TST_SYS_CONF_LONG_SET(PATH_VM_OVERCOMMIT_MEMORY, 1, 1);
testoom(0, 0, ENOMEM, 1);
}
@@ -41,7 +39,7 @@ static struct tst_test test = {
.test_all = verify_oom,
.skip_in_compat = 1,
.save_restore = (const struct tst_path_val[]) {
- {OVERCOMMIT_MEMORY, NULL, TST_SR_TBROK},
+ {PATH_VM_OVERCOMMIT_MEMORY, NULL, TST_SR_TBROK},
{}
},
};
diff --git a/testcases/kernel/mem/oom/oom02.c b/testcases/kernel/mem/oom/oom02.c
index 01a405ec1..cec51b3c3 100644
--- a/testcases/kernel/mem/oom/oom02.c
+++ b/testcases/kernel/mem/oom/oom02.c
@@ -49,7 +49,7 @@ static struct tst_test test = {
.test_all = verify_oom,
.skip_in_compat = 1,
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/vm/overcommit_memory", "1", TST_SR_TBROK},
+ {PATH_VM_OVERCOMMIT_MEMORY, "1", TST_SR_TBROK},
{}
},
};
diff --git a/testcases/kernel/mem/oom/oom03.c b/testcases/kernel/mem/oom/oom03.c
index f218b8130..6cede83ce 100644
--- a/testcases/kernel/mem/oom/oom03.c
+++ b/testcases/kernel/mem/oom/oom03.c
@@ -76,7 +76,7 @@ static struct tst_test test = {
.needs_cgroup_ctrls = (const char *const []){ "memory", NULL },
.skip_in_compat = 1,
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/vm/overcommit_memory", "1", TST_SR_TBROK},
+ {PATH_VM_OVERCOMMIT_MEMORY, "1", TST_SR_TBROK},
{}
},
};
diff --git a/testcases/kernel/mem/oom/oom04.c b/testcases/kernel/mem/oom/oom04.c
index d4beb12c7..b879e68a3 100644
--- a/testcases/kernel/mem/oom/oom04.c
+++ b/testcases/kernel/mem/oom/oom04.c
@@ -72,7 +72,7 @@ static struct tst_test test = {
.needs_cgroup_ctrls = (const char *const []){ "cpuset", NULL },
.skip_in_compat = 1,
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/vm/overcommit_memory", "1", TST_SR_TBROK},
+ {PATH_VM_OVERCOMMIT_MEMORY, "1", TST_SR_TBROK},
{}
},
};
diff --git a/testcases/kernel/mem/oom/oom05.c b/testcases/kernel/mem/oom/oom05.c
index 6b8d436d1..998bd866d 100644
--- a/testcases/kernel/mem/oom/oom05.c
+++ b/testcases/kernel/mem/oom/oom05.c
@@ -95,7 +95,7 @@ static struct tst_test test = {
},
.skip_in_compat = 1,
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/vm/overcommit_memory", "1", TST_SR_TBROK},
+ {PATH_VM_OVERCOMMIT_MEMORY, "1", TST_SR_TBROK},
{}
},
};
diff --git a/testcases/kernel/mem/thp/thp.h b/testcases/kernel/mem/thp/thp.h
index 7723bedc2..ece8429e4 100644
--- a/testcases/kernel/mem/thp/thp.h
+++ b/testcases/kernel/mem/thp/thp.h
@@ -6,11 +6,11 @@
#ifndef THP_H
#define THP_H
-#define PATH_THP "/sys/kernel/mm/transparent_hugepage/"
+#include "tst_path_macros.h"
static inline void check_hugepage(void)
{
- if (access(PATH_HUGEPAGES, F_OK))
+ if (access(PATH_MM_HUGEPAGES, F_OK))
tst_brk(TCONF, "Huge page is not supported.");
}
diff --git a/testcases/kernel/mem/thp/thp02.c b/testcases/kernel/mem/thp/thp02.c
index 4bfe37a20..89b49848c 100644
--- a/testcases/kernel/mem/thp/thp02.c
+++ b/testcases/kernel/mem/thp/thp02.c
@@ -97,7 +97,7 @@ static void setup(void)
{
long memfree;
- if (access(PATH_THP, F_OK) == -1)
+ if (access(PATH_MM_THP, F_OK) == -1)
tst_brk(TCONF, "THP not enabled in kernel?");
check_hugepage();
diff --git a/testcases/kernel/mem/thp/thp03.c b/testcases/kernel/mem/thp/thp03.c
index e8d22669e..8cd8e5f9c 100644
--- a/testcases/kernel/mem/thp/thp03.c
+++ b/testcases/kernel/mem/thp/thp03.c
@@ -79,7 +79,7 @@ static void thp_test(void)
static void setup(void)
{
- if (access(PATH_THP, F_OK) == -1)
+ if (access(PATH_MM_THP, F_OK) == -1)
tst_brk(TCONF, "THP not enabled in kernel?");
check_hugepage();
diff --git a/testcases/kernel/mem/tunable/min_free_kbytes.c b/testcases/kernel/mem/tunable/min_free_kbytes.c
index a62e4ae9d..b6d595648 100644
--- a/testcases/kernel/mem/tunable/min_free_kbytes.c
+++ b/testcases/kernel/mem/tunable/min_free_kbytes.c
@@ -35,10 +35,6 @@
#define MAP_SIZE (1UL<<20)
-#define OVERCOMMIT_MEMORY "/proc/sys/vm/overcommit_memory"
-#define MIN_FREE_KBYTES "/proc/sys/vm/min_free_kbytes"
-#define PANIC_ON_OOM "/proc/sys/vm/panic_on_oom"
-
volatile int end;
static long default_tune = -1;
static unsigned long total_mem;
@@ -88,13 +84,13 @@ static void test_tune(unsigned long overcommit_policy)
int ret, i;
unsigned long tune, memfree, memtotal;
- TST_SYS_CONF_LONG_SET(OVERCOMMIT_MEMORY, overcommit_policy, 1);
+ TST_SYS_CONF_LONG_SET(PATH_VM_OVERCOMMIT_MEMORY, overcommit_policy, 1);
for (i = 0; i < 3; i++) {
if (i == 0)
- TST_SYS_CONF_LONG_SET(MIN_FREE_KBYTES, default_tune, 1);
+ TST_SYS_CONF_LONG_SET(PATH_VM_MIN_FREE_KBYTES, default_tune, 1);
else if (i == 1) {
- TST_SYS_CONF_LONG_SET(MIN_FREE_KBYTES, 2 * default_tune, 1);
+ TST_SYS_CONF_LONG_SET(PATH_VM_MIN_FREE_KBYTES, 2 * default_tune, 1);
} else {
memfree = SAFE_READ_MEMINFO("MemFree:");
memtotal = SAFE_READ_MEMINFO("MemTotal:");
@@ -102,7 +98,7 @@ static void test_tune(unsigned long overcommit_policy)
if (tune > (memtotal / 50))
tune = memtotal / 50;
- TST_SYS_CONF_LONG_SET(MIN_FREE_KBYTES, tune, 1);
+ TST_SYS_CONF_LONG_SET(PATH_VM_MIN_FREE_KBYTES, tune, 1);
}
fflush(stdout);
@@ -186,7 +182,7 @@ static void check_monitor(void)
while (!end) {
memfree = SAFE_READ_MEMINFO("MemFree:");
- tune = TST_SYS_CONF_LONG_GET(MIN_FREE_KBYTES);
+ tune = TST_SYS_CONF_LONG_GET(PATH_VM_MIN_FREE_KBYTES);
if (memfree < tune) {
tst_res(TINFO, "MemFree is %lu kB, "
@@ -205,14 +201,14 @@ static void sighandler(int signo LTP_ATTRIBUTE_UNUSED)
static void setup(void)
{
- if (TST_SYS_CONF_LONG_GET(PANIC_ON_OOM)) {
+ if (TST_SYS_CONF_LONG_GET(PATH_VM_PANIC_ON_OOM)) {
tst_brk(TCONF,
"panic_on_oom is set, disable it to run these testcases");
}
total_mem = SAFE_READ_MEMINFO("MemTotal:") + SAFE_READ_MEMINFO("SwapTotal:");
- default_tune = TST_SYS_CONF_LONG_GET(MIN_FREE_KBYTES);
+ default_tune = TST_SYS_CONF_LONG_GET(PATH_VM_MIN_FREE_KBYTES);
}
static struct tst_test test = {
@@ -222,8 +218,8 @@ static struct tst_test test = {
.setup = setup,
.test_all = min_free_kbytes_test,
.save_restore = (const struct tst_path_val[]) {
- {OVERCOMMIT_MEMORY, NULL, TST_SR_TBROK},
- {MIN_FREE_KBYTES, NULL, TST_SR_TBROK},
+ {PATH_VM_OVERCOMMIT_MEMORY, NULL, TST_SR_TBROK},
+ {PATH_VM_MIN_FREE_KBYTES, NULL, TST_SR_TBROK},
{}
},
};
diff --git a/testcases/kernel/mem/tunable/overcommit_memory.c b/testcases/kernel/mem/tunable/overcommit_memory.c
index 663e31522..9fa50818f 100644
--- a/testcases/kernel/mem/tunable/overcommit_memory.c
+++ b/testcases/kernel/mem/tunable/overcommit_memory.c
@@ -82,9 +82,6 @@
#define EXPECT_PASS 0
#define EXPECT_FAIL 1
-#define OVERCOMMIT_MEMORY "/proc/sys/vm/overcommit_memory"
-#define OVERCOMMIT_RATIO "/proc/sys/vm/overcommit_ratio"
-
static char *R_opt;
static long old_overcommit_ratio = -1;
static long overcommit_ratio;
@@ -110,7 +107,7 @@ static void setup(void)
else
overcommit_ratio = DEFAULT_OVER_RATIO;
- old_overcommit_ratio = TST_SYS_CONF_LONG_GET(OVERCOMMIT_RATIO);
+ old_overcommit_ratio = TST_SYS_CONF_LONG_GET(PATH_VM_OVERCOMMIT_RATIO);
mem_total = SAFE_READ_MEMINFO("MemTotal:");
tst_res(TINFO, "MemTotal is %ld kB", mem_total);
@@ -132,7 +129,7 @@ static void setup(void)
SAFE_SETRLIMIT(RLIMIT_AS, &lim);
}
- TST_SYS_CONF_LONG_SET(OVERCOMMIT_RATIO, overcommit_ratio, 1);
+ TST_SYS_CONF_LONG_SET(PATH_VM_OVERCOMMIT_RATIO, overcommit_ratio, 1);
calculate_total_batch_size();
tst_res(TINFO, "TotalBatchSize is %ld kB", total_batch_size);
@@ -141,7 +138,7 @@ static void setup(void)
static void overcommit_memory_test(void)
{
/* start to test overcommit_memory=2 */
- TST_SYS_CONF_LONG_SET(OVERCOMMIT_MEMORY, 2, 1);
+ TST_SYS_CONF_LONG_SET(PATH_VM_OVERCOMMIT_MEMORY, 2, 1);
update_mem_commit();
/* Skip tests that would overflow or exceed 32-bit address space */
@@ -155,7 +152,7 @@ static void overcommit_memory_test(void)
}
/* start to test overcommit_memory=0 */
- TST_SYS_CONF_LONG_SET(OVERCOMMIT_MEMORY, 0, 1);
+ TST_SYS_CONF_LONG_SET(PATH_VM_OVERCOMMIT_MEMORY, 0, 1);
update_mem();
alloc_and_check(free_total / 2, EXPECT_PASS);
@@ -170,7 +167,7 @@ static void overcommit_memory_test(void)
}
/* start to test overcommit_memory=1 */
- TST_SYS_CONF_LONG_SET(OVERCOMMIT_MEMORY, 1, 1);
+ TST_SYS_CONF_LONG_SET(PATH_VM_OVERCOMMIT_MEMORY, 1, 1);
alloc_and_check(sum_total / 2, EXPECT_PASS);
if (tst_kernel_bits() == 64 || (unsigned long)sum_total <= TST_GB / TST_KB) {
@@ -287,8 +284,8 @@ static struct tst_test test = {
.test_all = overcommit_memory_test,
.skip_in_compat = 1,
.save_restore = (const struct tst_path_val[]) {
- {OVERCOMMIT_MEMORY, NULL, TST_SR_TBROK},
- {OVERCOMMIT_RATIO, NULL, TST_SR_TBROK},
+ {PATH_VM_OVERCOMMIT_MEMORY, NULL, TST_SR_TBROK},
+ {PATH_VM_OVERCOMMIT_RATIO, NULL, TST_SR_TBROK},
{}
},
};
diff --git a/testcases/kernel/sched/sysctl/proc_sched_rt01.c b/testcases/kernel/sched/sysctl/proc_sched_rt01.c
index df57ebcde..2119effb8 100644
--- a/testcases/kernel/sched/sysctl/proc_sched_rt01.c
+++ b/testcases/kernel/sched/sysctl/proc_sched_rt01.c
@@ -26,10 +26,6 @@
#include <stdio.h>
#include "tst_test.h"
-#define RT_PERIOD_US "/proc/sys/kernel/sched_rt_period_us"
-#define RT_RUNTIME_US "/proc/sys/kernel/sched_rt_runtime_us"
-#define RR_TIMESLICE_MS "/proc/sys/kernel/sched_rr_timeslice_ms"
-
static int period_fd;
static int runtime_fd;
@@ -37,8 +33,8 @@ static void rr_timeslice_ms_reset(void)
{
long timeslice_ms;
- SAFE_FILE_PRINTF(RR_TIMESLICE_MS, "-1");
- SAFE_FILE_SCANF(RR_TIMESLICE_MS, "%li", ×lice_ms);
+ SAFE_FILE_PRINTF(PATH_SCHED_RR_TIMESLICE_MS, "-1");
+ SAFE_FILE_SCANF(PATH_SCHED_RR_TIMESLICE_MS, "%li", ×lice_ms);
TST_EXP_EXPR(timeslice_ms > 0,
"timeslice_ms > 0 after reset to default");
@@ -47,15 +43,15 @@ static void rr_timeslice_ms_reset(void)
static void rt_period_us_einval(void)
{
TST_EXP_FAIL(write(period_fd, "0", 2), EINVAL,
- "echo 0 > "RT_PERIOD_US);
+ "echo 0 > "PATH_SCHED_RT_PERIOD_US);
TST_EXP_FAIL(write(period_fd, "-1", 2), EINVAL,
- "echo -1 > "RT_PERIOD_US);
+ "echo -1 > "PATH_SCHED_RT_PERIOD_US);
}
static void rt_runtime_us_einval(void)
{
TST_EXP_FAIL(write(runtime_fd, "-2", 2), EINVAL,
- "echo -2 > "RT_RUNTIME_US);
+ "echo -2 > "PATH_SCHED_RT_RUNTIME_US);
}
static void rt_runtime_us_le_period_us(void)
@@ -63,12 +59,12 @@ static void rt_runtime_us_le_period_us(void)
int period_us;
char buf[32];
- SAFE_FILE_SCANF(RT_PERIOD_US, "%i", &period_us);
+ SAFE_FILE_SCANF(PATH_SCHED_RT_PERIOD_US, "%i", &period_us);
sprintf(buf, "%i", period_us+1);
TST_EXP_FAIL(write(runtime_fd, buf, strlen(buf)), EINVAL,
- "echo rt_period_us+1 > "RT_RUNTIME_US);
+ "echo rt_period_us+1 > "PATH_SCHED_RT_RUNTIME_US);
}
static void verify_sched_proc(void)
@@ -81,8 +77,8 @@ static void verify_sched_proc(void)
static void setup(void)
{
- period_fd = open(RT_PERIOD_US, O_RDWR);
- runtime_fd = open(RT_RUNTIME_US, O_RDWR);
+ period_fd = open(PATH_SCHED_RT_PERIOD_US, O_RDWR);
+ runtime_fd = open(PATH_SCHED_RT_RUNTIME_US, O_RDWR);
}
static void cleanup(void)
diff --git a/testcases/kernel/syscalls/bind/bind06.c b/testcases/kernel/syscalls/bind/bind06.c
index 988574a80..6c775f1a9 100644
--- a/testcases/kernel/syscalls/bind/bind06.c
+++ b/testcases/kernel/syscalls/bind/bind06.c
@@ -100,7 +100,7 @@ static struct tst_test test = {
NULL
},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/user/max_user_namespaces", "1024", TST_SR_SKIP},
+ {PATH_MAX_USER_NAMESPACES, "1024", TST_SR_SKIP},
{}
},
.tags = (const struct tst_tag[]) {
diff --git a/testcases/kernel/syscalls/fanotify/fanotify10.c b/testcases/kernel/syscalls/fanotify/fanotify10.c
index 41f13408a..c42d9247f 100644
--- a/testcases/kernel/syscalls/fanotify/fanotify10.c
+++ b/testcases/kernel/syscalls/fanotify/fanotify10.c
@@ -99,9 +99,6 @@ static int ignore_mark_unsupported;
#define FILE_EXEC_PATH2 MNT2_PATH"/"TEST_APP
#define FILE2_EXEC_PATH2 MNT2_PATH"/"TEST_APP2
-#define DROP_CACHES_FILE "/proc/sys/vm/drop_caches"
-#define CACHE_PRESSURE_FILE "/proc/sys/vm/vfs_cache_pressure"
-
static pid_t child_pid;
static int bind_mount_created;
static unsigned int num_classes = NUM_CLASSES;
@@ -517,9 +514,9 @@ static void drop_caches(void)
* In order to ensure that the inode can be released in the two-tier
* directory structure, drop_cache is required three times.
*/
- SAFE_FILE_PRINTF(DROP_CACHES_FILE, "3");
- SAFE_FILE_PRINTF(DROP_CACHES_FILE, "3");
- SAFE_FILE_PRINTF(DROP_CACHES_FILE, "3");
+ SAFE_FILE_PRINTF(PATH_VM_DROP_CACHES, "3");
+ SAFE_FILE_PRINTF(PATH_VM_DROP_CACHES, "3");
+ SAFE_FILE_PRINTF(PATH_VM_DROP_CACHES, "3");
}
static int create_fanotify_groups(unsigned int n)
@@ -925,7 +922,7 @@ static void setup(void)
mount_cycle();
/* Set high priority for evicting inodes */
- SAFE_FILE_PRINTF(CACHE_PRESSURE_FILE, "500");
+ SAFE_FILE_PRINTF(PATH_VM_VFS_CACHE_PRESSURE, "500");
}
static void cleanup(void)
@@ -969,7 +966,7 @@ static struct tst_test test = {
NULL
},
.save_restore = (const struct tst_path_val[]) {
- {CACHE_PRESSURE_FILE, NULL, TST_SR_TCONF},
+ {PATH_VM_VFS_CACHE_PRESSURE, NULL, TST_SR_TCONF},
{}
},
.tags = (const struct tst_tag[]) {
diff --git a/testcases/kernel/syscalls/fanotify/fanotify17.c b/testcases/kernel/syscalls/fanotify/fanotify17.c
index fa563a3ca..79eae2ef1 100644
--- a/testcases/kernel/syscalls/fanotify/fanotify17.c
+++ b/testcases/kernel/syscalls/fanotify/fanotify17.c
@@ -30,14 +30,9 @@
#define MOUNT_PATH "fs_mnt"
#define TEST_FILE MOUNT_PATH "/testfile"
#define SELF_USERNS "/proc/self/ns/user"
-#define MAX_USERNS "/proc/sys/user/max_user_namespaces"
+#define MAX_USERNS PATH_MAX_USER_NAMESPACES
#define UID_MAP "/proc/self/uid_map"
-#define GLOBAL_MAX_GROUPS "/proc/sys/fs/fanotify/max_user_groups"
-#define GLOBAL_MAX_MARKS "/proc/sys/fs/fanotify/max_user_marks"
-#define USERNS_MAX_GROUPS "/proc/sys/user/max_fanotify_groups"
-#define USERNS_MAX_MARKS "/proc/sys/user/max_fanotify_marks"
-
/*
* In older kernels those limits were fixed in kernel.
* The fanotify_init() man page documents the max groups limit is 128, but the
@@ -185,12 +180,12 @@ static void test_fanotify(unsigned int n)
if (tc->max_user_groups && tc->max_user_groups < groups) {
/* Further limit user ns groups */
marks = groups = tc->max_user_groups;
- SAFE_FILE_PRINTF(USERNS_MAX_GROUPS, "%d", groups);
+ SAFE_FILE_PRINTF(PATH_MAX_FANOTIFY_GROUPS, "%d", groups);
}
if (tc->max_user_marks && tc->max_user_marks < marks) {
/* Further limit user ns marks */
marks = tc->max_user_marks;
- SAFE_FILE_PRINTF(USERNS_MAX_MARKS, "%d", marks);
+ SAFE_FILE_PRINTF(PATH_MAX_FANOTIFY_MARKS, "%d", marks);
}
}
verify_user_limits(tc->init_flags, groups, marks);
@@ -230,11 +225,11 @@ static void setup(void)
* In older kernels those limits were fixed in kernel and fanotify is
* not permitted inside user ns.
*/
- if (access(GLOBAL_MAX_GROUPS, F_OK) && errno == ENOENT) {
+ if (access(PATH_FS_MAX_USER_GROUPS, F_OK) && errno == ENOENT) {
user_ns_supported = 0;
} else {
- SAFE_FILE_SCANF(GLOBAL_MAX_GROUPS, "%d", &max_groups);
- SAFE_FILE_SCANF(GLOBAL_MAX_MARKS, "%d", &max_marks);
+ SAFE_FILE_SCANF(PATH_FS_MAX_USER_GROUPS, "%d", &max_groups);
+ SAFE_FILE_SCANF(PATH_FS_MAX_USER_MARKS, "%d", &max_marks);
}
tst_res(TINFO, "max_fanotify_groups=%d max_fanotify_marks=%d",
max_groups, max_marks);
diff --git a/testcases/kernel/syscalls/fcntl/fcntl30.c b/testcases/kernel/syscalls/fcntl/fcntl30.c
index 4d1b7e627..c803a04b0 100644
--- a/testcases/kernel/syscalls/fcntl/fcntl30.c
+++ b/testcases/kernel/syscalls/fcntl/fcntl30.c
@@ -34,7 +34,7 @@ static void run(void)
static void setup(void)
{
- SAFE_FILE_SCANF("/proc/sys/fs/pipe-max-size", "%d", &max_size_unpriv);
+ SAFE_FILE_SCANF(PATH_FS_PIPE_MAX_SIZE, "%d", &max_size_unpriv);
}
static void cleanup(void)
diff --git a/testcases/kernel/syscalls/fcntl/fcntl35.c b/testcases/kernel/syscalls/fcntl/fcntl35.c
index 2d730377b..1662e5a4e 100644
--- a/testcases/kernel/syscalls/fcntl/fcntl35.c
+++ b/testcases/kernel/syscalls/fcntl/fcntl35.c
@@ -49,13 +49,11 @@ static void setup(void)
test_max_unpriv = getpagesize();
test_max_priv = test_max_unpriv * 16;
- if (!access("/proc/sys/fs/pipe-max-size", F_OK)) {
- SAFE_FILE_SCANF("/proc/sys/fs/pipe-max-size", "%d",
- &pipe_max_unpriv);
- SAFE_FILE_PRINTF("/proc/sys/fs/pipe-max-size", "%d",
- test_max_unpriv);
+ if (!access(PATH_FS_PIPE_MAX_SIZE, F_OK)) {
+ SAFE_FILE_SCANF(PATH_FS_PIPE_MAX_SIZE, "%d", &pipe_max_unpriv);
+ SAFE_FILE_PRINTF(PATH_FS_PIPE_MAX_SIZE, "%d", test_max_unpriv);
} else {
- tst_brk(TCONF, "/proc/sys/fs/pipe-max-size doesn't exist");
+ tst_brk(TCONF, "%s doesn't exist", PATH_FS_PIPE_MAX_SIZE);
}
pw = SAFE_GETPWNAM("nobody");
@@ -63,7 +61,7 @@ static void setup(void)
static void cleanup(void)
{
- SAFE_FILE_PRINTF("/proc/sys/fs/pipe-max-size", "%d", pipe_max_unpriv);
+ SAFE_FILE_PRINTF(PATH_FS_PIPE_MAX_SIZE, "%d", pipe_max_unpriv);
}
static int verify_pipe_size(int exp_pip_sz, char *desp)
diff --git a/testcases/kernel/syscalls/fcntl/fcntl37.c b/testcases/kernel/syscalls/fcntl/fcntl37.c
index 36f462954..ed7dbcba8 100644
--- a/testcases/kernel/syscalls/fcntl/fcntl37.c
+++ b/testcases/kernel/syscalls/fcntl/fcntl37.c
@@ -70,7 +70,7 @@ static void setup(void)
SAFE_WRITE(SAFE_WRITE_ALL, fds[1], wrbuf, orig_value);
free(wrbuf);
- SAFE_FILE_SCANF("/proc/sys/fs/pipe-max-size", "%d", &sys_value);
+ SAFE_FILE_SCANF(PATH_FS_PIPE_MAX_SIZE, "%d", &sys_value);
sys_value++;
half_value = orig_value / 2;
diff --git a/testcases/kernel/syscalls/fork/fork13.c b/testcases/kernel/syscalls/fork/fork13.c
index 415e9404d..0a4791edb 100644
--- a/testcases/kernel/syscalls/fork/fork13.c
+++ b/testcases/kernel/syscalls/fork/fork13.c
@@ -111,7 +111,7 @@ static struct tst_test test = {
.runtime = 600,
.test_all = check,
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/kernel/pid_max", PID_MAX_STR, TST_SR_TBROK},
+ {PATH_PID_MAX, PID_MAX_STR, TST_SR_TBROK},
{}
},
.tags = (const struct tst_tag[]) {
diff --git a/testcases/kernel/syscalls/getpid/getpid01.c b/testcases/kernel/syscalls/getpid/getpid01.c
index d9ba0953c..058ceeb36 100644
--- a/testcases/kernel/syscalls/getpid/getpid01.c
+++ b/testcases/kernel/syscalls/getpid/getpid01.c
@@ -14,7 +14,7 @@ static pid_t pid_max;
static void setup(void)
{
- SAFE_FILE_SCANF("/proc/sys/kernel/pid_max", "%d\n", &pid_max);
+ SAFE_FILE_SCANF(PATH_PID_MAX, "%d\n", &pid_max);
}
static void verify_getpid(void)
diff --git a/testcases/kernel/syscalls/getppid/getppid01.c b/testcases/kernel/syscalls/getppid/getppid01.c
index 3f05aed37..48a855f53 100644
--- a/testcases/kernel/syscalls/getppid/getppid01.c
+++ b/testcases/kernel/syscalls/getppid/getppid01.c
@@ -15,7 +15,7 @@ static pid_t pid_max;
static void setup(void)
{
- SAFE_FILE_SCANF("/proc/sys/kernel/pid_max", "%d\n", &pid_max);
+ SAFE_FILE_SCANF(PATH_PID_MAX, "%d\n", &pid_max);
}
static void verify_getppid(void)
diff --git a/testcases/kernel/syscalls/getxattr/getxattr05.c b/testcases/kernel/syscalls/getxattr/getxattr05.c
index 5f0aac51d..6c33b3f90 100644
--- a/testcases/kernel/syscalls/getxattr/getxattr05.c
+++ b/testcases/kernel/syscalls/getxattr/getxattr05.c
@@ -38,7 +38,6 @@
#define TEST_FILE "testfile"
#define SELF_USERNS "/proc/self/ns/user"
-#define MAX_USERNS "/proc/sys/user/max_user_namespaces"
#define UID_MAP "/proc/self/uid_map"
static acl_t acl;
@@ -152,9 +151,9 @@ static void setup(void)
*/
if (access(SELF_USERNS, F_OK) != 0) {
user_ns_supported = 0;
- } else if (!access(MAX_USERNS, F_OK)) {
- SAFE_FILE_SCANF(MAX_USERNS, "%d", &orig_max_userns);
- SAFE_FILE_PRINTF(MAX_USERNS, "%d", 10);
+ } else if (!access(PATH_MAX_USER_NAMESPACES, F_OK)) {
+ SAFE_FILE_SCANF(PATH_MAX_USER_NAMESPACES, "%d", &orig_max_userns);
+ SAFE_FILE_PRINTF(PATH_MAX_USER_NAMESPACES, "%d", 10);
}
}
@@ -162,7 +161,7 @@ static void setup(void)
static void cleanup(void)
{
if (orig_max_userns != -1)
- SAFE_FILE_PRINTF(MAX_USERNS, "%d", orig_max_userns);
+ SAFE_FILE_PRINTF(PATH_MAX_USER_NAMESPACES, "%d", orig_max_userns);
if (acl)
acl_free(acl);
diff --git a/testcases/kernel/syscalls/inotify/inotify07.c b/testcases/kernel/syscalls/inotify/inotify07.c
index b4000f353..505f82159 100644
--- a/testcases/kernel/syscalls/inotify/inotify07.c
+++ b/testcases/kernel/syscalls/inotify/inotify07.c
@@ -153,7 +153,7 @@ static void setup(void)
tst_res(TINFO, DIR_PATH " ino=%lu", buf.st_ino);
/* Drop dentry caches, so overlayfs will allocate a new dentry */
- SAFE_FILE_PRINTF("/proc/sys/vm/drop_caches", "2");
+ SAFE_FILE_PRINTF(PATH_VM_DROP_CACHES, "2");
/* Copy up directory to make it a merge directory */
SAFE_CHMOD(DIR_PATH, 0700);
diff --git a/testcases/kernel/syscalls/inotify/inotify08.c b/testcases/kernel/syscalls/inotify/inotify08.c
index e0837cac3..0d127031d 100644
--- a/testcases/kernel/syscalls/inotify/inotify08.c
+++ b/testcases/kernel/syscalls/inotify/inotify08.c
@@ -146,7 +146,7 @@ static void setup(void)
major(buf.st_dev), minor(buf.st_dev));
/* Drop dentry caches, so overlayfs will allocate a new dentry */
- SAFE_FILE_PRINTF("/proc/sys/vm/drop_caches", "2");
+ SAFE_FILE_PRINTF(PATH_VM_DROP_CACHES, "2");
/* Copy up file */
SAFE_CHMOD(FILE_PATH, 0600);
diff --git a/testcases/kernel/syscalls/io_setup/io_setup01.c b/testcases/kernel/syscalls/io_setup/io_setup01.c
index 3536b068f..f52c95046 100644
--- a/testcases/kernel/syscalls/io_setup/io_setup01.c
+++ b/testcases/kernel/syscalls/io_setup/io_setup01.c
@@ -75,11 +75,11 @@ static void verify_io_setup(void)
verify_failure(-1, &ctx, 0, EINVAL);
verify_failure(1, NULL, 0, EFAULT);
- if (!access("/proc/sys/fs/aio-max-nr", F_OK)) {
- SAFE_FILE_SCANF("/proc/sys/fs/aio-max-nr", "%u", &aio_max);
+ if (!access(PATH_FS_NR_AIO_MAX_NR, F_OK)) {
+ SAFE_FILE_SCANF(PATH_FS_NR_AIO_MAX_NR, "%u", &aio_max);
verify_failure(aio_max + 1, &ctx, 0, EAGAIN);
} else {
- tst_res(TCONF, "the aio-max-nr file did not exist");
+ tst_res(TCONF, "the %s file did not exist", PATH_FS_NR_AIO_MAX_NR);
}
}
diff --git a/testcases/kernel/syscalls/io_setup/io_setup02.c b/testcases/kernel/syscalls/io_setup/io_setup02.c
index 14a89d602..805960f84 100644
--- a/testcases/kernel/syscalls/io_setup/io_setup02.c
+++ b/testcases/kernel/syscalls/io_setup/io_setup02.c
@@ -40,8 +40,8 @@ static void run(void)
"io_setup() when nr_events is -1");
unsigned aio_max = 0;
- if (!access("/proc/sys/fs/aio-max-nr", F_OK)) {
- SAFE_FILE_SCANF("/proc/sys/fs/aio-max-nr", "%u", &aio_max);
+ if (!access(PATH_FS_NR_AIO_MAX_NR, F_OK)) {
+ SAFE_FILE_SCANF(PATH_FS_NR_AIO_MAX_NR, "%u", &aio_max);
TST_EXP_FAIL(tst_syscall(__NR_io_setup, aio_max + 1, &ctx), EAGAIN,
"io_setup() when nr_events exceeds the limit");
} else {
diff --git a/testcases/kernel/syscalls/io_uring/io_uring01.c b/testcases/kernel/syscalls/io_uring/io_uring01.c
index 4c64e562b..15db9a6a9 100644
--- a/testcases/kernel/syscalls/io_uring/io_uring01.c
+++ b/testcases/kernel/syscalls/io_uring/io_uring01.c
@@ -165,7 +165,7 @@ static struct tst_test test = {
{}
},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/kernel/io_uring_disabled", "0",
+ {PATH_IO_URING_DISABLED, "0",
TST_SR_SKIP_MISSING | TST_SR_TCONF_RO},
{}
}
diff --git a/testcases/kernel/syscalls/io_uring/io_uring02.c b/testcases/kernel/syscalls/io_uring/io_uring02.c
index 50206cf1f..7eccda030 100644
--- a/testcases/kernel/syscalls/io_uring/io_uring02.c
+++ b/testcases/kernel/syscalls/io_uring/io_uring02.c
@@ -255,7 +255,7 @@ static struct tst_test test = {
{}
},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/kernel/io_uring_disabled", "0",
+ {PATH_IO_URING_DISABLED, "0",
TST_SR_SKIP_MISSING | TST_SR_TCONF_RO},
{}
},
diff --git a/testcases/kernel/syscalls/io_uring/io_uring03.c b/testcases/kernel/syscalls/io_uring/io_uring03.c
index 645c96b02..c6e584663 100644
--- a/testcases/kernel/syscalls/io_uring/io_uring03.c
+++ b/testcases/kernel/syscalls/io_uring/io_uring03.c
@@ -133,7 +133,7 @@ static struct tst_test test = {
{}
},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/kernel/io_uring_disabled", "0",
+ {PATH_IO_URING_DISABLED, "0",
TST_SR_SKIP_MISSING | TST_SR_TCONF_RO},
{}
}
diff --git a/testcases/kernel/syscalls/ipc/msgget/msgget03.c b/testcases/kernel/syscalls/ipc/msgget/msgget03.c
index f3d7579a3..81e9ef9bf 100644
--- a/testcases/kernel/syscalls/ipc/msgget/msgget03.c
+++ b/testcases/kernel/syscalls/ipc/msgget/msgget03.c
@@ -40,7 +40,7 @@ static void setup(void)
used_cnt);
maxmsgs = used_cnt + 32;
- SAFE_FILE_PRINTF("/proc/sys/kernel/msgmni", "%i", maxmsgs);
+ SAFE_FILE_PRINTF(PATH_MSGMNI, "%i", maxmsgs);
queues = SAFE_MALLOC((maxmsgs - used_cnt) * sizeof(int));
@@ -74,7 +74,7 @@ static struct tst_test test = {
.cleanup = cleanup,
.test_all = verify_msgget,
.save_restore = (const struct tst_path_val[]){
- {"/proc/sys/kernel/msgmni", NULL, TST_SR_TCONF},
+ {PATH_MSGMNI, NULL, TST_SR_TCONF},
{}
}
};
diff --git a/testcases/kernel/syscalls/ipc/msgget/msgget04.c b/testcases/kernel/syscalls/ipc/msgget/msgget04.c
index 7f8f2ed9e..0c642e8f7 100644
--- a/testcases/kernel/syscalls/ipc/msgget/msgget04.c
+++ b/testcases/kernel/syscalls/ipc/msgget/msgget04.c
@@ -22,7 +22,7 @@
#include "tst_safe_sysv_ipc.h"
#include "tse_newipc.h"
-#define NEXT_ID_PATH "/proc/sys/kernel/msg_next_id"
+#define NEXT_ID_PATH PATH_MSG_NEXT_ID
static int queue_id, pid;
static key_t msgkey;
diff --git a/testcases/kernel/syscalls/ipc/msgget/msgget05.c b/testcases/kernel/syscalls/ipc/msgget/msgget05.c
index c683142f5..f14290ace 100644
--- a/testcases/kernel/syscalls/ipc/msgget/msgget05.c
+++ b/testcases/kernel/syscalls/ipc/msgget/msgget05.c
@@ -20,7 +20,7 @@
#include "tst_safe_sysv_ipc.h"
#include "tse_newipc.h"
-#define NEXT_ID_PATH "/proc/sys/kernel/msg_next_id"
+#define NEXT_ID_PATH PATH_MSG_NEXT_ID
static int queue_id[2], pid;
static key_t msgkey[2];
diff --git a/testcases/kernel/syscalls/ipc/msgstress/msgstress01.c b/testcases/kernel/syscalls/ipc/msgstress/msgstress01.c
index 10c9adcb0..932fedf22 100644
--- a/testcases/kernel/syscalls/ipc/msgstress/msgstress01.c
+++ b/testcases/kernel/syscalls/ipc/msgstress/msgstress01.c
@@ -22,7 +22,7 @@
#include "tst_safe_stdio.h"
#include "tst_test.h"
-#define SYSVIPC_TOTAL "/proc/sys/kernel/msgmni"
+#define SYSVIPC_TOTAL PATH_MSGMNI
#define SYSVIPC_USED "/proc/sysvipc/msg"
#define MSGTYPE 10
#define MAXNREPS 100000
diff --git a/testcases/kernel/syscalls/ipc/semget/semget05.c b/testcases/kernel/syscalls/ipc/semget/semget05.c
index 57a65dbdd..3db784dac 100644
--- a/testcases/kernel/syscalls/ipc/semget/semget05.c
+++ b/testcases/kernel/syscalls/ipc/semget/semget05.c
@@ -38,7 +38,7 @@ static void setup(void)
used_cnt = GET_USED_ARRAYS();
tst_res(TINFO, "Current environment %d semaphore arrays are already in use",
used_cnt);
- SAFE_FILE_SCANF("/proc/sys/kernel/sem", "%*d %*d %*d %d", &maxsems);
+ SAFE_FILE_SCANF(PATH_SEM, "%*d %*d %*d %d", &maxsems);
/* Prevent timeout due to high semaphore array limit */
tst_set_runtime(maxsems / 200);
@@ -74,7 +74,7 @@ static struct tst_test test = {
.cleanup = cleanup,
.test_all = verify_semget,
.save_restore = (const struct tst_path_val[]){
- {"/proc/sys/kernel/sem", NULL,
+ {PATH_SEM, NULL,
TST_SR_TCONF_MISSING | TST_SR_SKIP_RO},
{}
}
diff --git a/testcases/kernel/syscalls/ipc/shmctl/shmctl03.c b/testcases/kernel/syscalls/ipc/shmctl/shmctl03.c
index a1f53e7c1..ac7dfd13b 100644
--- a/testcases/kernel/syscalls/ipc/shmctl/shmctl03.c
+++ b/testcases/kernel/syscalls/ipc/shmctl/shmctl03.c
@@ -30,9 +30,9 @@ static void verify_ipcinfo(void)
else
tst_res(TPASS, "shmmin = 1");
- TST_ASSERT_ULONG("/proc/sys/kernel/shmmax", info.shmmax);
- TST_ASSERT_ULONG("/proc/sys/kernel/shmmni", info.shmmni);
- TST_ASSERT_ULONG("/proc/sys/kernel/shmall", info.shmall);
+ TST_ASSERT_ULONG(PATH_SHMMAX, info.shmmax);
+ TST_ASSERT_ULONG(PATH_SHMMNI, info.shmmni);
+ TST_ASSERT_ULONG(PATH_SHMALL, info.shmall);
}
static struct tst_test test = {
diff --git a/testcases/kernel/syscalls/ipc/shmget/shmget02.c b/testcases/kernel/syscalls/ipc/shmget/shmget02.c
index 5c77d47d8..1eefd7d8f 100644
--- a/testcases/kernel/syscalls/ipc/shmget/shmget02.c
+++ b/testcases/kernel/syscalls/ipc/shmget/shmget02.c
@@ -143,7 +143,7 @@ static struct tst_test test = {
.tcnt = ARRAY_SIZE(tcases),
.hugepages = {TST_NO_HUGEPAGES},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/kernel/shmmax", "8192", TST_SR_TCONF_MISSING | TST_SR_TBROK_RO},
+ {PATH_SHMMAX, "8192", TST_SR_TCONF_MISSING | TST_SR_TBROK_RO},
{}
},
};
diff --git a/testcases/kernel/syscalls/ipc/shmget/shmget03.c b/testcases/kernel/syscalls/ipc/shmget/shmget03.c
index a54540d58..2e5fee31f 100644
--- a/testcases/kernel/syscalls/ipc/shmget/shmget03.c
+++ b/testcases/kernel/syscalls/ipc/shmget/shmget03.c
@@ -37,7 +37,7 @@ static void setup(void)
used_cnt = GET_USED_SEGMENTS();
tst_res(TINFO, "Current environment %d shared memory segments are already in use",
used_cnt);
- SAFE_FILE_SCANF("/proc/sys/kernel/shmmni", "%i", &maxshms);
+ SAFE_FILE_SCANF(PATH_SHMMNI, "%i", &maxshms);
queues = SAFE_MALLOC((maxshms - used_cnt) * sizeof(int));
for (num = 0; num < maxshms - used_cnt; num++) {
diff --git a/testcases/kernel/syscalls/ipc/shmget/shmget05.c b/testcases/kernel/syscalls/ipc/shmget/shmget05.c
index 246674938..6ba16716c 100644
--- a/testcases/kernel/syscalls/ipc/shmget/shmget05.c
+++ b/testcases/kernel/syscalls/ipc/shmget/shmget05.c
@@ -23,13 +23,12 @@
#include "tst_safe_sysv_ipc.h"
#include "tse_newipc.h"
-#define NEXT_ID_PATH "/proc/sys/kernel/shm_next_id"
static int shm_id, pid;
static key_t shmkey;
static void verify_shmget(void)
{
- SAFE_FILE_PRINTF(NEXT_ID_PATH, "%d", pid);
+ SAFE_FILE_PRINTF(PATH_SHM_NEXT_ID, "%d", pid);
shm_id = SAFE_SHMGET(shmkey, SHM_SIZE, SHM_RW | IPC_CREAT);
if (shm_id == pid)
@@ -37,7 +36,7 @@ static void verify_shmget(void)
else
tst_res(TFAIL, "shm_next_id failed, expected id %d, but got %d", pid, shm_id);
- TST_ASSERT_INT(NEXT_ID_PATH, -1);
+ TST_ASSERT_INT(PATH_SHM_NEXT_ID, -1);
SAFE_SHMCTL(shm_id, IPC_RMID, NULL);
pid++;
}
diff --git a/testcases/kernel/syscalls/ipc/shmget/shmget06.c b/testcases/kernel/syscalls/ipc/shmget/shmget06.c
index 420844f0a..b08a168c3 100644
--- a/testcases/kernel/syscalls/ipc/shmget/shmget06.c
+++ b/testcases/kernel/syscalls/ipc/shmget/shmget06.c
@@ -21,14 +21,12 @@
#include "tst_safe_sysv_ipc.h"
#include "tse_newipc.h"
-#define NEXT_ID_PATH "/proc/sys/kernel/shm_next_id"
-
static int shm_id[2], pid;
static key_t shmkey[2];
static void verify_shmget(void)
{
- SAFE_FILE_PRINTF(NEXT_ID_PATH, "%d", shm_id[0]);
+ SAFE_FILE_PRINTF(PATH_SHM_NEXT_ID, "%d", shm_id[0]);
shm_id[1] = SAFE_SHMGET(shmkey[1], SHM_SIZE, IPC_CREAT | SHM_RW);
if (shm_id[1] == shm_id[0])
@@ -46,7 +44,7 @@ static void setup(void)
shmkey[0] = GETIPCKEY();
shmkey[1] = GETIPCKEY();
pid = getpid();
- SAFE_FILE_PRINTF(NEXT_ID_PATH, "%d", pid);
+ SAFE_FILE_PRINTF(PATH_SHM_NEXT_ID, "%d", pid);
shm_id[0] = SAFE_SHMGET(shmkey[0], SHM_SIZE, IPC_CREAT | SHM_RW);
}
diff --git a/testcases/kernel/syscalls/madvise/madvise01.c b/testcases/kernel/syscalls/madvise/madvise01.c
index 884c59b0b..b9ba4bdbe 100644
--- a/testcases/kernel/syscalls/madvise/madvise01.c
+++ b/testcases/kernel/syscalls/madvise/madvise01.c
@@ -24,7 +24,6 @@
#define TMP_DIR "tmp_madvise"
#define TEST_FILE TMP_DIR"/testfile"
-#define KSM_SYS_DIR "/sys/kernel/mm/ksm"
#define STR "abcdefghijklmnopqrstuvwxyz12345\n"
static char *sfile;
diff --git a/testcases/kernel/syscalls/madvise/madvise02.c b/testcases/kernel/syscalls/madvise/madvise02.c
index cc3faf5cf..a55385040 100644
--- a/testcases/kernel/syscalls/madvise/madvise02.c
+++ b/testcases/kernel/syscalls/madvise/madvise02.c
@@ -46,7 +46,6 @@
#define MAP_SIZE (4 * 1024)
#define TEST_FILE "testfile"
#define STR "abcdefghijklmnopqrstuvwxyz12345\n"
-#define KSM_SYS_DIR "/sys/kernel/mm/ksm"
static struct stat st;
static long pagesize;
@@ -98,7 +97,7 @@ static void tcases_filter(void)
case MADV_UNMERGEABLE:
/* kernel configured with CONFIG_KSM,
* skip EINVAL test for MADV_MERGEABLE. */
- if (access(KSM_SYS_DIR, F_OK) == 0)
+ if (access(PATH_MM_KSM, F_OK) == 0)
tc->skip = 1;
break;
case MADV_WILLNEED:
diff --git a/testcases/kernel/syscalls/madvise/madvise06.c b/testcases/kernel/syscalls/madvise/madvise06.c
index a9df913fc..42e8ba826 100644
--- a/testcases/kernel/syscalls/madvise/madvise06.c
+++ b/testcases/kernel/syscalls/madvise/madvise06.c
@@ -48,7 +48,7 @@
#define PASS_THRESHOLD (CHUNK_SZ / 4)
#define PASS_THRESHOLD_KB (PASS_THRESHOLD / 1024)
-static const char drop_caches_fname[] = "/proc/sys/vm/drop_caches";
+static const char drop_caches_fname[] = PATH_VM_DROP_CACHES;
static int pg_sz, stat_refresh_sup;
static long init_swap, init_swap_cached, init_cached;
diff --git a/testcases/kernel/syscalls/madvise/madvise08.c b/testcases/kernel/syscalls/madvise/madvise08.c
index 96bcaf159..c47b78504 100644
--- a/testcases/kernel/syscalls/madvise/madvise08.c
+++ b/testcases/kernel/syscalls/madvise/madvise08.c
@@ -33,7 +33,7 @@
#include "tst_test.h"
#include "lapi/mmap.h"
-#define CORE_PATTERN "/proc/sys/kernel/core_pattern"
+#define CORE_PATTERN PATH_CORE_PATTERN
#define CORE_FILTER "/proc/self/coredump_filter"
#define YCOUNT 0x500L
#define FMEMSIZE (YCOUNT + 0x2L)
diff --git a/testcases/kernel/syscalls/memfd_create/memfd_create04.c b/testcases/kernel/syscalls/memfd_create/memfd_create04.c
index 8a12a72ff..3114f87b4 100644
--- a/testcases/kernel/syscalls/memfd_create/memfd_create04.c
+++ b/testcases/kernel/syscalls/memfd_create/memfd_create04.c
@@ -46,7 +46,7 @@ static void check_hugepage_support(struct test_flag *test_flags)
{
char pattern[64];
- sprintf(pattern, PATH_HUGEPAGES);
+ sprintf(pattern, PATH_MM_HUGEPAGES);
strcat(pattern, "hugepages-");
strcat(pattern, test_flags->h_size);
@@ -84,7 +84,7 @@ static void memfd_huge_x_controller(unsigned int n)
static void setup(void)
{
- if (access(PATH_HUGEPAGES, F_OK))
+ if (access(PATH_MM_HUGEPAGES, F_OK))
tst_brk(TCONF, "Huge page is not supported");
}
diff --git a/testcases/kernel/syscalls/migrate_pages/migrate_pages02.c b/testcases/kernel/syscalls/migrate_pages/migrate_pages02.c
index 780aae1b5..f21fa2ea4 100644
--- a/testcases/kernel/syscalls/migrate_pages/migrate_pages02.c
+++ b/testcases/kernel/syscalls/migrate_pages/migrate_pages02.c
@@ -324,7 +324,7 @@ static struct tst_test test = {
.test_all = run,
.setup = setup,
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/kernel/numa_balancing", "0",
+ {PATH_NUMA_BALANCING, "0",
TST_SR_SKIP_MISSING | TST_SR_TCONF_RO},
{}
},
diff --git a/testcases/kernel/syscalls/migrate_pages/migrate_pages03.c b/testcases/kernel/syscalls/migrate_pages/migrate_pages03.c
index 59d7e79db..72497b71b 100644
--- a/testcases/kernel/syscalls/migrate_pages/migrate_pages03.c
+++ b/testcases/kernel/syscalls/migrate_pages/migrate_pages03.c
@@ -49,7 +49,7 @@ static void setup(void)
int n;
unsigned long nodemask_size;
- if (access(PATH_KSM, F_OK))
+ if (access(PATH_MM_KSM, F_OK))
tst_brk(TCONF, "KSM configuration was not enabled");
if (get_allowed_nodes_arr(NH_MEMS, &num_nodes, &nodes) < 0)
@@ -93,8 +93,8 @@ static void setup(void)
memset(test_pages[n], 0, page_size);
}
- SAFE_FILE_SCANF(PATH_KSM "run", "%d", &orig_ksm_run);
- SAFE_FILE_PRINTF(PATH_KSM "run", "%d", 1);
+ SAFE_FILE_SCANF(MM_KSM_FP("run"), "%d", &orig_ksm_run);
+ SAFE_FILE_PRINTF(MM_KSM_FP("run"), "%d", 1);
wait_ksmd_full_scan();
}
@@ -111,7 +111,7 @@ static void cleanup(void)
free(new_nodes[1]);
if (orig_ksm_run != -1)
- SAFE_FILE_PRINTF(PATH_KSM "run", "%d", orig_ksm_run);
+ SAFE_FILE_PRINTF(MM_KSM_FP("run"), "%d", orig_ksm_run);
}
static void migrate_test(void)
diff --git a/testcases/kernel/syscalls/mmap/mmap10.c b/testcases/kernel/syscalls/mmap/mmap10.c
index fb5543899..bac50045b 100644
--- a/testcases/kernel/syscalls/mmap/mmap10.c
+++ b/testcases/kernel/syscalls/mmap/mmap10.c
@@ -40,7 +40,6 @@
#include "tst_test.h"
#define SIZE (5 * TST_MB)
-#define PATH_KSM "/sys/kernel/mm/ksm/"
static size_t page_sz;
static char *memory;
@@ -60,7 +59,7 @@ static void run(unsigned int i)
int fd = -1;
if (tc->add_ksm) {
- if (access(PATH_KSM, F_OK) == -1)
+ if (access(PATH_MM_KSM, F_OK) == -1)
tst_brk(TCONF, "KSM configuration is not enabled");
else
tst_res(TINFO, "Add to KSM regions");
diff --git a/testcases/kernel/syscalls/move_pages/move_pages12.c b/testcases/kernel/syscalls/move_pages/move_pages12.c
index 440773a38..b2ec0e70f 100644
--- a/testcases/kernel/syscalls/move_pages/move_pages12.c
+++ b/testcases/kernel/syscalls/move_pages/move_pages12.c
@@ -76,8 +76,6 @@
#define LOOPS 10000
#define PATH_MEMINFO "/proc/meminfo"
-#define PATH_NR_HUGEPAGES "/proc/sys/vm/nr_hugepages"
-#define PATH_HUGEPAGES "/sys/kernel/mm/hugepages/"
#define TEST_NODES 2
static struct tcase {
@@ -259,7 +257,7 @@ static void setup(void)
check_config(TEST_NODES);
- if (access(PATH_HUGEPAGES, F_OK))
+ if (access(PATH_MM_HUGEPAGES, F_OK))
tst_brk(TCONF, "Huge page not supported");
ret = get_allowed_nodes(NH_MEMS, TEST_NODES, &node1, &node2);
@@ -269,7 +267,7 @@ static void setup(void)
pgsz = (int)get_page_size();
SAFE_FILE_LINES_SCANF(PATH_MEMINFO, "Hugepagesize: %d", &hpsz);
- SAFE_FILE_PRINTF("/proc/sys/vm/drop_caches", "3");
+ SAFE_FILE_PRINTF(PATH_VM_DROP_CACHES, "3");
SAFE_FILE_LINES_SCANF(PATH_MEMINFO, "MemFree: %ld", &memfree);
tst_res(TINFO, "Free RAM %ld kB", memfree);
@@ -307,10 +305,10 @@ static void setup(void)
hpsz *= 1024;
if (orig_hugepages_node1 == -1 || orig_hugepages_node2 == -1) {
- SAFE_FILE_SCANF(PATH_NR_HUGEPAGES, "%ld", &orig_hugepages);
+ SAFE_FILE_SCANF(PATH_VM_NR_HPAGES, "%ld", &orig_hugepages);
tst_res(TINFO, "Increasing global hugepages pool to %ld",
orig_hugepages + 8);
- SAFE_FILE_PRINTF(PATH_NR_HUGEPAGES, "%ld", orig_hugepages + 8);
+ SAFE_FILE_PRINTF(PATH_VM_NR_HPAGES, "%ld", orig_hugepages + 8);
}
alloc_free_huge_on_node(node1, 4L * hpsz);
@@ -320,7 +318,7 @@ static void setup(void)
static void cleanup(void)
{
if (orig_hugepages != -1)
- SAFE_FILE_PRINTF(PATH_NR_HUGEPAGES, "%ld", orig_hugepages);
+ SAFE_FILE_PRINTF(PATH_VM_NR_HPAGES, "%ld", orig_hugepages);
if (orig_hugepages_node1 != -1) {
SAFE_FILE_PRINTF(path_hugepages_node1,
diff --git a/testcases/kernel/syscalls/newuname/newuname01.c b/testcases/kernel/syscalls/newuname/newuname01.c
index 37058023a..652992e7a 100644
--- a/testcases/kernel/syscalls/newuname/newuname01.c
+++ b/testcases/kernel/syscalls/newuname/newuname01.c
@@ -31,16 +31,16 @@ static void run(void)
TST_EXP_EQ_STR(name->sysname, "Linux");
- SAFE_FILE_SCANF("/proc/sys/kernel/hostname", "%1023[^\n]", proc_val);
+ SAFE_FILE_SCANF(PATH_HOSTNAME, "%1023[^\n]", proc_val);
TST_EXP_EQ_STR(name->nodename, proc_val);
- SAFE_FILE_SCANF("/proc/sys/kernel/osrelease", "%1023[^\n]", proc_val);
+ SAFE_FILE_SCANF(PATH_OSRELEASE, "%1023[^\n]", proc_val);
TST_EXP_EQ_STR(name->release, proc_val);
- SAFE_FILE_SCANF("/proc/sys/kernel/version", "%1023[^\n]", proc_val);
+ SAFE_FILE_SCANF(PATH_VERSION, "%1023[^\n]", proc_val);
TST_EXP_EQ_STR(name->version, proc_val);
- SAFE_FILE_SCANF("/proc/sys/kernel/domainname", "%1023[^\n]", proc_val);
+ SAFE_FILE_SCANF(PATH_DOMAINNAME, "%1023[^\n]", proc_val);
TST_EXP_EQ_STR(name->domainname, proc_val);
}
diff --git a/testcases/kernel/syscalls/perf_event_open/perf_event_open02.c b/testcases/kernel/syscalls/perf_event_open/perf_event_open02.c
index 7306ecf51..c672e3e75 100644
--- a/testcases/kernel/syscalls/perf_event_open/perf_event_open02.c
+++ b/testcases/kernel/syscalls/perf_event_open/perf_event_open02.c
@@ -211,7 +211,7 @@ static void setup(void)
* knowing if perf_event_open() support is enabled is checking for
* the existence of the file /proc/sys/kernel/perf_event_paranoid.
*/
- if (access("/proc/sys/kernel/perf_event_paranoid", F_OK) == -1)
+ if (access(PATH_PERF_EVENT_PARANOID, F_OK) == -1)
tst_brk(TCONF, "Kernel doesn't have perf_event support");
bind_to_current_cpu();
diff --git a/testcases/kernel/syscalls/pkeys/pkey01.c b/testcases/kernel/syscalls/pkeys/pkey01.c
index 8cbe2d6b5..6762d9912 100644
--- a/testcases/kernel/syscalls/pkeys/pkey01.c
+++ b/testcases/kernel/syscalls/pkeys/pkey01.c
@@ -36,7 +36,6 @@
#define TEST_FILE "pkey_testfile"
#define STR "abcdefghijklmnopqrstuvwxyz12345\n"
-#define PATH_VM_NRHPS "/proc/sys/vm/nr_hugepages"
static int size;
static int execute_supported = 1;
diff --git a/testcases/kernel/syscalls/preadv2/preadv203.c b/testcases/kernel/syscalls/preadv2/preadv203.c
index 472543e5c..96f14ff32 100644
--- a/testcases/kernel/syscalls/preadv2/preadv203.c
+++ b/testcases/kernel/syscalls/preadv2/preadv203.c
@@ -58,7 +58,7 @@ static volatile int stop;
static void drop_caches(void)
{
- SAFE_FILE_PRINTF("/proc/sys/vm/drop_caches", "3");
+ SAFE_FILE_PRINTF(PATH_VM_DROP_CACHES, "3");
}
/*
diff --git a/testcases/kernel/syscalls/readahead/readahead02.c b/testcases/kernel/syscalls/readahead/readahead02.c
index 5ebc43278..5e1d2350c 100644
--- a/testcases/kernel/syscalls/readahead/readahead02.c
+++ b/testcases/kernel/syscalls/readahead/readahead02.c
@@ -35,7 +35,6 @@
#include "lapi/syscalls.h"
static char testfile[PATH_MAX] = "testfile";
-#define DROP_CACHES_FNAME "/proc/sys/vm/drop_caches"
#define PROC_IO_FNAME "/proc/self/io"
#define DEFAULT_FILESIZE (64 * 1024 * 1024)
#define SHORT_SLEEP_US 5000
@@ -97,7 +96,7 @@ static int has_file(const char *fname, int required)
static void drop_caches(void)
{
- SAFE_FILE_PRINTF(DROP_CACHES_FNAME, "1");
+ SAFE_FILE_PRINTF(PATH_VM_DROP_CACHES, "1");
}
static unsigned long get_bytes_read(void)
@@ -430,7 +429,7 @@ static void setup(void)
if (access(PROC_IO_FNAME, F_OK))
tst_brk(TCONF, "Requires " PROC_IO_FNAME);
- has_file(DROP_CACHES_FNAME, 1);
+ has_file(PATH_VM_DROP_CACHES, 1);
/* check if readahead is supported */
tst_syscall(__NR_readahead, 0, 0, 0);
diff --git a/testcases/kernel/syscalls/sched_rr_get_interval/sched_rr_get_interval01.c b/testcases/kernel/syscalls/sched_rr_get_interval/sched_rr_get_interval01.c
index 6dbf5af89..f5982b3cf 100644
--- a/testcases/kernel/syscalls/sched_rr_get_interval/sched_rr_get_interval01.c
+++ b/testcases/kernel/syscalls/sched_rr_get_interval/sched_rr_get_interval01.c
@@ -13,11 +13,11 @@
* - c7fcb99877f9 ( sched/rt: Fix sysctl_sched_rr_timeslice intial value)
*/
+#include "tst_test.h"
#include "time64_variants.h"
#include "tst_timer.h"
#include "tst_sched.h"
-#define PROC_SCHED_RR_TIMESLICE_MS "/proc/sys/kernel/sched_rr_timeslice_ms"
static int proc_flag;
struct tst_ts tp;
@@ -48,7 +48,7 @@ static void setup(void)
if ((sys_sched_setscheduler(0, SCHED_RR, &p)) == -1)
tst_res(TFAIL | TERRNO, "sched_setscheduler() failed");
- proc_flag = !access(PROC_SCHED_RR_TIMESLICE_MS, F_OK);
+ proc_flag = !access(PATH_SCHED_RR_TIMESLICE_MS, F_OK);
}
static void run(void)
@@ -73,7 +73,7 @@ static void run(void)
}
if (proc_flag)
- TST_ASSERT_INT(PROC_SCHED_RR_TIMESLICE_MS, tst_ts_to_ms(tp));
+ TST_ASSERT_INT(PATH_SCHED_RR_TIMESLICE_MS, tst_ts_to_ms(tp));
}
static struct tst_test test = {
diff --git a/testcases/kernel/syscalls/sendmsg/sendmsg03.c b/testcases/kernel/syscalls/sendmsg/sendmsg03.c
index 34ebc7e95..ec2a65f32 100644
--- a/testcases/kernel/syscalls/sendmsg/sendmsg03.c
+++ b/testcases/kernel/syscalls/sendmsg/sendmsg03.c
@@ -111,7 +111,7 @@ static struct tst_test test = {
NULL
},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/user/max_user_namespaces", "1024", TST_SR_SKIP},
+ {PATH_MAX_USER_NAMESPACES, "1024", TST_SR_SKIP},
{}
},
.tags = (const struct tst_tag[]) {
diff --git a/testcases/kernel/syscalls/sendto/sendto03.c b/testcases/kernel/syscalls/sendto/sendto03.c
index 622de6474..45dd00b4a 100644
--- a/testcases/kernel/syscalls/sendto/sendto03.c
+++ b/testcases/kernel/syscalls/sendto/sendto03.c
@@ -205,7 +205,7 @@ static struct tst_test test = {
NULL
},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/user/max_user_namespaces", "1024", TST_SR_SKIP},
+ {PATH_MAX_USER_NAMESPACES, "1024", TST_SR_SKIP},
{}
},
.tags = (const struct tst_tag[]) {
diff --git a/testcases/kernel/syscalls/setpgid/setpgid02.c b/testcases/kernel/syscalls/setpgid/setpgid02.c
index 978d255e5..c02f05694 100644
--- a/testcases/kernel/syscalls/setpgid/setpgid02.c
+++ b/testcases/kernel/syscalls/setpgid/setpgid02.c
@@ -42,7 +42,7 @@ static void setup(void)
* pid_max would not be in use by another process and guarantees that
* it corresponds to an invalid PGID, generating EPERM.
*/
- SAFE_FILE_SCANF("/proc/sys/kernel/pid_max", "%d\n", &inval_pgid);
+ SAFE_FILE_SCANF(PATH_PID_MAX, "%d\n", &inval_pgid);
}
static void run(unsigned int n)
diff --git a/testcases/kernel/syscalls/setrlimit/setrlimit03.c b/testcases/kernel/syscalls/setrlimit/setrlimit03.c
index 0e1f83a1e..621b89317 100644
--- a/testcases/kernel/syscalls/setrlimit/setrlimit03.c
+++ b/testcases/kernel/syscalls/setrlimit/setrlimit03.c
@@ -23,8 +23,6 @@
# define NR_OPEN (1024*1024)
#endif
-#define NR_OPEN_PATH "/proc/sys/fs/nr_open"
-
static struct rlimit rlim1, rlim2;
static unsigned int nr_open = NR_OPEN;
@@ -59,8 +57,8 @@ static void verify_setrlimit(unsigned int n)
static void setup(void)
{
- if (!access(NR_OPEN_PATH, F_OK))
- SAFE_FILE_SCANF(NR_OPEN_PATH, "%u", &nr_open);
+ if (!access(PATH_FS_NR_OPEN, F_OK))
+ SAFE_FILE_SCANF(PATH_FS_NR_OPEN, "%u", &nr_open);
SAFE_GETRLIMIT(RLIMIT_NOFILE, &rlim1);
rlim2.rlim_max = rlim1.rlim_cur;
diff --git a/testcases/kernel/syscalls/setsockopt/setsockopt05.c b/testcases/kernel/syscalls/setsockopt/setsockopt05.c
index 35a3d1bd3..c02d649f9 100644
--- a/testcases/kernel/syscalls/setsockopt/setsockopt05.c
+++ b/testcases/kernel/syscalls/setsockopt/setsockopt05.c
@@ -88,7 +88,7 @@ static struct tst_test test = {
NULL
},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/user/max_user_namespaces", "1024", TST_SR_SKIP},
+ {PATH_MAX_USER_NAMESPACES, "1024", TST_SR_SKIP},
{}
},
.tags = (const struct tst_tag[]) {
diff --git a/testcases/kernel/syscalls/setsockopt/setsockopt06.c b/testcases/kernel/syscalls/setsockopt/setsockopt06.c
index 2160b29e7..2078e075f 100644
--- a/testcases/kernel/syscalls/setsockopt/setsockopt06.c
+++ b/testcases/kernel/syscalls/setsockopt/setsockopt06.c
@@ -116,7 +116,7 @@ static struct tst_test test = {
NULL
},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/user/max_user_namespaces", "1024", TST_SR_SKIP},
+ {PATH_MAX_USER_NAMESPACES, "1024", TST_SR_SKIP},
{}
},
.tags = (const struct tst_tag[]) {
diff --git a/testcases/kernel/syscalls/setsockopt/setsockopt07.c b/testcases/kernel/syscalls/setsockopt/setsockopt07.c
index 6eeec8a6f..093ecf44e 100644
--- a/testcases/kernel/syscalls/setsockopt/setsockopt07.c
+++ b/testcases/kernel/syscalls/setsockopt/setsockopt07.c
@@ -128,7 +128,7 @@ static struct tst_test test = {
NULL
},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/user/max_user_namespaces", "1024", TST_SR_SKIP},
+ {PATH_MAX_USER_NAMESPACES, "1024", TST_SR_SKIP},
{}
},
.tags = (const struct tst_tag[]) {
diff --git a/testcases/kernel/syscalls/setsockopt/setsockopt08.c b/testcases/kernel/syscalls/setsockopt/setsockopt08.c
index 76ec1054e..257ad8606 100644
--- a/testcases/kernel/syscalls/setsockopt/setsockopt08.c
+++ b/testcases/kernel/syscalls/setsockopt/setsockopt08.c
@@ -158,7 +158,7 @@ static struct tst_test test = {
NULL
},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/user/max_user_namespaces", "1024", TST_SR_SKIP},
+ {PATH_MAX_USER_NAMESPACES, "1024", TST_SR_SKIP},
{}
},
.tags = (const struct tst_tag[]) {
diff --git a/testcases/kernel/syscalls/setsockopt/setsockopt09.c b/testcases/kernel/syscalls/setsockopt/setsockopt09.c
index a4b6b9315..5f4311fbb 100644
--- a/testcases/kernel/syscalls/setsockopt/setsockopt09.c
+++ b/testcases/kernel/syscalls/setsockopt/setsockopt09.c
@@ -111,7 +111,7 @@ static struct tst_test test = {
NULL
},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/user/max_user_namespaces", "1024", TST_SR_SKIP},
+ {PATH_MAX_USER_NAMESPACES, "1024", TST_SR_SKIP},
{}
},
.tags = (const struct tst_tag[]) {
diff --git a/testcases/kernel/syscalls/splice/splice.h b/testcases/kernel/syscalls/splice/splice.h
index 16e4c98ed..1c30f2d68 100644
--- a/testcases/kernel/syscalls/splice/splice.h
+++ b/testcases/kernel/syscalls/splice/splice.h
@@ -26,13 +26,13 @@ static inline int get_max_limit(int default_len_data)
{
int pipe_max_unpriv;
- if (!access("/proc/sys/fs/pipe-max-size", F_OK)) {
- SAFE_FILE_SCANF("/proc/sys/fs/pipe-max-size", "%d", &pipe_max_unpriv);
+ if (!access(PATH_FS_PIPE_MAX_SIZE, F_OK)) {
+ SAFE_FILE_SCANF(PATH_FS_PIPE_MAX_SIZE, "%d", &pipe_max_unpriv);
return MIN(pipe_max_unpriv, default_len_data);
}
- if (!access("/proc/sys/fs/pipe-max-pages", F_OK)) {
- SAFE_FILE_SCANF("/proc/sys/fs/pipe-max-pages", "%d", &pipe_max_unpriv);
+ if (!access(PATH_FS_PIPE_MAX_PAGES, F_OK)) {
+ SAFE_FILE_SCANF(PATH_FS_PIPE_MAX_PAGES, "%d", &pipe_max_unpriv);
return MIN(pipe_max_unpriv * getpagesize(), default_len_data);
}
diff --git a/testcases/kernel/syscalls/splice/splice06.c b/testcases/kernel/syscalls/splice/splice06.c
index e64d32ded..686bc5cfa 100644
--- a/testcases/kernel/syscalls/splice/splice06.c
+++ b/testcases/kernel/syscalls/splice/splice06.c
@@ -25,8 +25,6 @@
#define PIPE_MAX_INIT_SIZE 65536
#define DOMAIN_INIT_NAME "LTP_INIT"
#define DOMAIN_TEST_NAME "LTP_TEST"
-#define INTEGER_PROCFILE "/proc/sys/fs/pipe-max-size"
-#define STRING_PROCFILE "/proc/sys/kernel/domainname"
static int pipe_max_test_size;
static void format_str(char *str)
@@ -172,14 +170,14 @@ static void splice_test(void)
char buf_file[BUF_SIZE];
char buf_splice[BUF_SIZE];
- if (file_read_num(INTEGER_PROCFILE) == splice_read_num(INTEGER_PROCFILE))
+ if (file_read_num(PATH_FS_PIPE_MAX_SIZE) == splice_read_num(PATH_FS_PIPE_MAX_SIZE))
tst_res(TPASS, "Read num through splice correctly");
else
tst_brk(TBROK | TERRNO, "Read num through splice failed");
- splice_write_num(INTEGER_PROCFILE, pipe_max_test_size);
+ splice_write_num(PATH_FS_PIPE_MAX_SIZE, pipe_max_test_size);
- if (file_read_num(INTEGER_PROCFILE) == pipe_max_test_size)
+ if (file_read_num(PATH_FS_PIPE_MAX_SIZE) == pipe_max_test_size)
tst_res(TPASS, "Write num through splice correctly");
else
tst_brk(TBROK | TERRNO, "Write num through splice failed");
@@ -187,8 +185,8 @@ static void splice_test(void)
memset(buf_file, '\0', sizeof(buf_file));
memset(buf_splice, '\0', sizeof(buf_splice));
- file_read_str(STRING_PROCFILE, buf_file);
- splice_read_str(STRING_PROCFILE, buf_splice);
+ file_read_str(PATH_DOMAINNAME, buf_file);
+ splice_read_str(PATH_DOMAINNAME, buf_splice);
if (!strncmp(buf_file, buf_splice, strlen(buf_file)))
tst_res(TPASS, "Read string through splice correctly");
@@ -197,8 +195,8 @@ static void splice_test(void)
memset(buf_file, '\0', sizeof(buf_file));
- splice_write_str(STRING_PROCFILE, DOMAIN_TEST_NAME);
- file_read_str(STRING_PROCFILE, buf_file);
+ splice_write_str(PATH_DOMAINNAME, DOMAIN_TEST_NAME);
+ file_read_str(PATH_DOMAINNAME, buf_file);
if (!strncmp(buf_file, DOMAIN_TEST_NAME, strlen(buf_file)))
tst_res(TPASS, "Write string through splice correctly");
@@ -209,8 +207,8 @@ static void splice_test(void)
static void setup(void)
{
pipe_max_test_size = getpagesize();
- file_write_str(STRING_PROCFILE, DOMAIN_INIT_NAME);
- file_write_num(STRING_PROCFILE, PIPE_MAX_INIT_SIZE);
+ file_write_str(PATH_DOMAINNAME, DOMAIN_INIT_NAME);
+ file_write_num(PATH_DOMAINNAME, PIPE_MAX_INIT_SIZE);
}
static struct tst_test test = {
@@ -219,8 +217,8 @@ static struct tst_test test = {
.test_all = splice_test,
.needs_tmpdir = 1,
.save_restore = (const struct tst_path_val[]) {
- {INTEGER_PROCFILE, NULL, TST_SR_TCONF},
- {STRING_PROCFILE, NULL, TST_SR_TCONF},
+ {PATH_FS_PIPE_MAX_SIZE, NULL, TST_SR_TCONF},
+ {PATH_DOMAINNAME, NULL, TST_SR_TCONF},
{}
},
};
diff --git a/testcases/kernel/syscalls/syslog/syslog11.c b/testcases/kernel/syscalls/syslog/syslog11.c
index 28a6fdf49..97bbee862 100644
--- a/testcases/kernel/syscalls/syslog/syslog11.c
+++ b/testcases/kernel/syscalls/syslog/syslog11.c
@@ -56,7 +56,7 @@ static void run(unsigned int n)
static struct tst_test test = {
.test = run,
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/kernel/printk", NULL, TST_SR_TBROK},
+ {PATH_PRINTK, NULL, TST_SR_TBROK},
{}
},
.needs_root = 1,
diff --git a/testcases/kernel/syscalls/unshare/unshare03.c b/testcases/kernel/syscalls/unshare/unshare03.c
index 7128b3b97..ca12070ee 100644
--- a/testcases/kernel/syscalls/unshare/unshare03.c
+++ b/testcases/kernel/syscalls/unshare/unshare03.c
@@ -16,8 +16,6 @@
#include "config.h"
#include "lapi/sched.h"
-#define FS_NR_OPEN "/proc/sys/fs/nr_open"
-
#ifdef HAVE_UNSHARE
static void run(void)
@@ -32,7 +30,7 @@ static void run(void)
SAFE_DUP2(2, nr_open + 1);
if (!SAFE_CLONE(&args)) {
- SAFE_FILE_PRINTF(FS_NR_OPEN, "%d", nr_open);
+ SAFE_FILE_PRINTF(PATH_FS_NR_OPEN, "%d", nr_open);
TST_EXP_FAIL(unshare(CLONE_FILES), EMFILE);
exit(0);
}
@@ -49,7 +47,7 @@ static struct tst_test test = {
.test_all = run,
.setup = setup,
.save_restore = (const struct tst_path_val[]) {
- {FS_NR_OPEN, NULL, TST_SR_TCONF},
+ {PATH_FS_NR_OPEN, NULL, TST_SR_TCONF},
{}
},
};
diff --git a/testcases/kernel/syscalls/wait4/wait402.c b/testcases/kernel/syscalls/wait4/wait402.c
index 18ed0814f..4d6d96ac8 100644
--- a/testcases/kernel/syscalls/wait4/wait402.c
+++ b/testcases/kernel/syscalls/wait4/wait402.c
@@ -25,7 +25,7 @@ static void run(void)
static void setup(void)
{
- SAFE_FILE_SCANF("/proc/sys/kernel/pid_max", "%d\n", &pid_max);
+ SAFE_FILE_SCANF(PATH_PID_MAX, "%d\n", &pid_max);
}
static struct tst_test test = {
diff --git a/testcases/kernel/syscalls/waitid/waitid10.c b/testcases/kernel/syscalls/waitid/waitid10.c
index 14d4ba76b..88a7a282a 100644
--- a/testcases/kernel/syscalls/waitid/waitid10.c
+++ b/testcases/kernel/syscalls/waitid/waitid10.c
@@ -48,7 +48,7 @@ static void setup(void)
char c;
SAFE_GETRLIMIT(RLIMIT_CORE, &rlim);
- SAFE_FILE_SCANF("/proc/sys/kernel/core_pattern", "%c", &c);
+ SAFE_FILE_SCANF(PATH_CORE_PATTERN, "%c", &c);
if (rlim.rlim_cur)
return;
diff --git a/testcases/network/iptables/nft02.c b/testcases/network/iptables/nft02.c
index 5f0671c5d..4bd449392 100644
--- a/testcases/network/iptables/nft02.c
+++ b/testcases/network/iptables/nft02.c
@@ -203,7 +203,7 @@ static struct tst_test test = {
NULL
},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/user/max_user_namespaces", "1024", TST_SR_SKIP},
+ {PATH_MAX_USER_NAMESPACES, "1024", TST_SR_SKIP},
{}
},
.tags = (const struct tst_tag[]) {
diff --git a/testcases/network/packet/fanout01.c b/testcases/network/packet/fanout01.c
index dc1ff6ce5..ede721943 100644
--- a/testcases/network/packet/fanout01.c
+++ b/testcases/network/packet/fanout01.c
@@ -96,7 +96,7 @@ static struct tst_test test = {
NULL
},
.save_restore = (const struct tst_path_val[]) {
- {"/proc/sys/user/max_user_namespaces", "1024", TST_SR_SKIP},
+ {PATH_MAX_USER_NAMESPACES, "1024", TST_SR_SKIP},
{}
},
.tags = (const struct tst_tag[]) {
--
2.54.0
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [LTP] lib: Introduce tst_path_macros.h to consolidate system paths
2026-05-05 8:30 [LTP] [PATCH v3] lib: Introduce tst_path_macros.h to consolidate system paths Li Wang
@ 2026-05-05 17:54 ` linuxtestproject.agent
2026-05-15 15:58 ` [LTP] [PATCH v3] " Petr Vorel
1 sibling, 0 replies; 4+ messages in thread
From: linuxtestproject.agent @ 2026-05-05 17:54 UTC (permalink / raw)
To: Li Wang; +Cc: ltp
Hi Li,
On Tue, 5 May 2026, Li Wang wrote:
> [PATCH] lib: Introduce tst_path_macros.h to consolidate system paths
The subject prefix "lib:" doesn't match the scope — the new header lives in
include/ and the migration covers ~80 files across include/, lib/, testcases/,
and libs/. Use "include:" or "treewide:" instead.
---
Note:
Our agent completed the review of the patch.
The agent can sometimes produce false positives although often its
findings are genuine. If you find issues with the review, please
comment this email or ignore the suggestions.
Regards,
LTP AI Reviewer
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [LTP] [PATCH v3] lib: Introduce tst_path_macros.h to consolidate system paths
2026-05-05 8:30 [LTP] [PATCH v3] lib: Introduce tst_path_macros.h to consolidate system paths Li Wang
2026-05-05 17:54 ` [LTP] " linuxtestproject.agent
@ 2026-05-15 15:58 ` Petr Vorel
2026-05-16 5:00 ` Li Wang
1 sibling, 1 reply; 4+ messages in thread
From: Petr Vorel @ 2026-05-15 15:58 UTC (permalink / raw)
To: Li Wang; +Cc: ltp
Hi Li,
could you please rebase to master and push branch to your fork?
Patch now does not apply:
Description: [v3] lib: Introduce tst_path_macros.h to consolidate system paths
Applying: lib: Introduce tst_path_macros.h to consolidate system paths
error: patch failed: testcases/kernel/syscalls/newuname/newuname01.c:31
error: testcases/kernel/syscalls/newuname/newuname01.c: patch does not apply
Which is strange, I'm trying to apply on 1e619620eda111cbd94672dd5a0e1cc92567b15d~
(prior Cyril's changes to newuname01.c).
Ideally your for always had rebased version.
I suppose metadata will work with it correctly since Cyril's support for macros
in past (i.e. metadata/ltp.json will have "/proc/sys/kernel/hostname", not
PATH_HOSTNAME, which tells nothing to LTP users).
> We have a lot of hardcoded strings and duplicated macros for /proc
> and /sys paths scattered throughout the testcases.
> This patch introduces a new common header, tst_path_macros.h, to centralize
> and standardize these path definitions. By unifying these macros, we
> reduce code duplication, improve maintainability, and ensure consistent
> path usage across the entire LTP codebase.
> Signed-off-by: Li Wang <li.wang@linux.dev>
> ---
> Notes:
> v3:
> * Rename to tst_path_macros.h to reflect its macro-only content.
I slightly prefer the previous name tst_path.h (for me macros are complex
functions, not just simple definitions, what info gives me "macro-only content"?
I care more about the actual content). I'm ok with it current name, but maybe
kernel_paths.h or proc_sys_paths.h would be more obvious which paths is it
about. Also, it's not just about paths, but also about the content in these
/proc|sys files (e.g. "HugePages_Total:").
> * Replaced generic string concatenation macros with explicit.
> * Manualy built & Tested all touched tests on my c10s vm.
...
> +/* KERNEL */
> +#define PATH_HOSTNAME "/proc/sys/kernel/hostname"
> +#define PATH_OSRELEASE "/proc/sys/kernel/osrelease"
...
> +/* USER */
> +#define PATH_MAX_USER_NAMESPACES "/proc/sys/user/max_user_namespaces"
I have 2 concerns:
1) we often try to have LTP specific 'TST_' prefix to avoid clash with
whatever definition. Is it ok to ignore it now?
2) I'm pretty sure I will have to look into this file often, because from
definition name I have no idea where exactly file is. I'd be ok with long name
TST_PROC_SYS_KERNEL_HOSTNAME, but understand Cyril wants short names. Maybe at
least TST_PATH_KERNEL_HOSTNAME and TST_PATH_USER_MAX_USER_NAMESPACES(last
directory and file)? That would be similar to what sysctl is using:
sysctl kernel.hostname
sysctl user.max_user_namespaces
Kind regards,
Petr
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [LTP] [PATCH v3] lib: Introduce tst_path_macros.h to consolidate system paths
2026-05-15 15:58 ` [LTP] [PATCH v3] " Petr Vorel
@ 2026-05-16 5:00 ` Li Wang
0 siblings, 0 replies; 4+ messages in thread
From: Li Wang @ 2026-05-16 5:00 UTC (permalink / raw)
To: Petr Vorel; +Cc: ltp
Petr Vorel wrote:
> Hi Li,
>
> could you please rebase to master and push branch to your fork?
> Patch now does not apply:
Sure, rebased and pushed to my fork:
https://github.com/wangli5665/ltp/tree/tst_path_defs
> I suppose metadata will work with it correctly since Cyril's support for macros
> in past (i.e. metadata/ltp.json will have "/proc/sys/kernel/hostname", not
> PATH_HOSTNAME, which tells nothing to LTP users).
Oh, I didn't realized this, seems the ltp.json contains define words:
# cat metadata/ltp.json |grep PATH_
"PATH_MAX_USER_NAMESPACES",
"PATH_MAX_USER_NAMESPACES",
"PATH_MAX_USER_NAMESPACES",
"PATH_MAX_USER_NAMESPACES",
"PATH_UNPRIVILEGED_USERNS_CLONE",
"PATH_MAX_USER_NAMESPACES",
"PATH_UNPRIVILEGED_USERNS_CLONE",
"PATH_VM_OVERCOMMIT_HPAGES",
"PATH_VM_OVERCOMMIT_HPAGES",
...
I can change them back to the original types (for ltp.json) in a separate patch.
> I slightly prefer the previous name tst_path.h (for me macros are complex
> functions, not just simple definitions, what info gives me "macro-only content"?
> I care more about the actual content). I'm ok with it current name, but maybe
> kernel_paths.h or proc_sys_paths.h would be more obvious which paths is it
> about. Also, it's not just about paths, but also about the content in these
> /proc|sys files (e.g. "HugePages_Total:").
Yes, I'm also hesitant about the naming. The tst_ prefix is needed since it will
be placed in the include/ directory and used across the entire project. proc_ or
sys_ sounds a bit too narrow in scope. Maybe:
tst_path_defs.h
tst_sys_paths.h
I'm now leaning towards tst_path_defs.h. WDYT?
>
> > * Replaced generic string concatenation macros with explicit.
> > * Manualy built & Tested all touched tests on my c10s vm.
>
> ...
>
> > +/* KERNEL */
> > +#define PATH_HOSTNAME "/proc/sys/kernel/hostname"
> > +#define PATH_OSRELEASE "/proc/sys/kernel/osrelease"
> ...
> > +/* USER */
> > +#define PATH_MAX_USER_NAMESPACES "/proc/sys/user/max_user_namespaces"
>
> I have 2 concerns:
>
> 1) we often try to have LTP specific 'TST_' prefix to avoid clash with
> whatever definition. Is it ok to ignore it now?
I'd prefer to stick with PATH_ instead of TST_PATH_. PATH_ is universally
understood as a file path definition. Adding TST_ makes it unnecessarily
verbose.
> 2) I'm pretty sure I will have to look into this file often, because from
> definition name I have no idea where exactly file is. I'd be ok with long name
> TST_PROC_SYS_KERNEL_HOSTNAME, but understand Cyril wants short names. Maybe at
> least TST_PATH_KERNEL_HOSTNAME and TST_PATH_USER_MAX_USER_NAMESPACES(last
> directory and file)? That would be similar to what sysctl is using:
>
> sysctl kernel.hostname
> sysctl user.max_user_namespaces
I understand the concern, but long macros like TST_PATH_USER_MAX_USER_NAMESPACES
will make the test code very verbose and easily lead to 80-character
line wrapping issues.
To address the readability issue without making the names too long,
I can add _KERNEL_ and _USER_ to the defines (like PATH_KERNEL_HOSTNAME
and PATH_USER_MAX_USER_NAMESPACES). I think this is a good middle ground.
--
Regards,
Li Wang
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-05-16 5:00 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-05 8:30 [LTP] [PATCH v3] lib: Introduce tst_path_macros.h to consolidate system paths Li Wang
2026-05-05 17:54 ` [LTP] " linuxtestproject.agent
2026-05-15 15:58 ` [LTP] [PATCH v3] " Petr Vorel
2026-05-16 5:00 ` Li Wang
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.