Skip to content

Commit 9c02223

Browse files
broonieakpm00
authored andcommitted
selftests/mm: generate a temporary mountpoint for cgroup filesystem
Currently if the filesystem for the cgroups version it wants to use is not mounted charge_reserved_hugetlb.sh and hugetlb_reparenting_test.sh tests will attempt to mount it on the hard coded path /dev/cgroup/memory, deleting that directory when the test finishes. This will fail if there is not a preexisting directory at that path, and since the directory is deleted subsequent runs of the test will fail. Instead of relying on this hard coded directory name use mktemp to generate a temporary directory to use as a mountpoint, fixing both the assumption and the disruption caused by deleting a preexisting directory. This means that if the relevant cgroup filesystem is not already mounted then we rely on having coreutils (which provides mktemp) installed. I suspect that many current users are relying on having things automounted by default, and given that the script relies on bash it's probably not an unreasonable requirement. Link: https://lkml.kernel.org/r/20250404-kselftest-mm-cgroup2-detection-v1-1-3dba6d32ba8c@kernel.org Fixes: 209376e ("selftests/vm: make charge_reserved_hugetlb.sh work with existing cgroup setting") Signed-off-by: Mark Brown <broonie@kernel.org> Cc: Aishwarya TCV <aishwarya.tcv@arm.com> Cc: Mark Brown <broonie@kernel.org> Cc: Mina Almasry <almasrymina@google.com> Cc: Shuah Khan <shuah@kernel.org> Cc: Waiman Long <longman@redhat.com> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
1 parent 35e214b commit 9c02223

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

tools/testing/selftests/mm/charge_reserved_hugetlb.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@ fi
2929
if [[ $cgroup2 ]]; then
3030
cgroup_path=$(mount -t cgroup2 | head -1 | awk '{print $3}')
3131
if [[ -z "$cgroup_path" ]]; then
32-
cgroup_path=/dev/cgroup/memory
32+
cgroup_path=$(mktemp -d)
3333
mount -t cgroup2 none $cgroup_path
3434
do_umount=1
3535
fi
3636
echo "+hugetlb" >$cgroup_path/cgroup.subtree_control
3737
else
3838
cgroup_path=$(mount -t cgroup | grep ",hugetlb" | awk '{print $3}')
3939
if [[ -z "$cgroup_path" ]]; then
40-
cgroup_path=/dev/cgroup/memory
40+
cgroup_path=$(mktemp -d)
4141
mount -t cgroup memory,hugetlb $cgroup_path
4242
do_umount=1
4343
fi

tools/testing/selftests/mm/hugetlb_reparenting_test.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ fi
2323
if [[ $cgroup2 ]]; then
2424
CGROUP_ROOT=$(mount -t cgroup2 | head -1 | awk '{print $3}')
2525
if [[ -z "$CGROUP_ROOT" ]]; then
26-
CGROUP_ROOT=/dev/cgroup/memory
26+
CGROUP_ROOT=$(mktemp -d)
2727
mount -t cgroup2 none $CGROUP_ROOT
2828
do_umount=1
2929
fi

0 commit comments

Comments
 (0)