Path: blob/master/tools/testing/selftests/damon/sysfs_memcg_path_leak.sh
51704 views
#!/bin/bash1# SPDX-License-Identifier: GPL-2.023if [ $EUID -ne 0 ]4then5echo "Run as root"6exit $ksft_skip7fi89damon_sysfs="/sys/kernel/mm/damon/admin"10if [ ! -d "$damon_sysfs" ]11then12echo "damon sysfs not found"13exit $ksft_skip14fi1516kmemleak="/sys/kernel/debug/kmemleak"17if [ ! -f "$kmemleak" ]18then19echo "$kmemleak not found"20exit $ksft_skip21fi2223# ensure filter directory24echo 1 > "$damon_sysfs/kdamonds/nr_kdamonds"25echo 1 > "$damon_sysfs/kdamonds/0/contexts/nr_contexts"26echo 1 > "$damon_sysfs/kdamonds/0/contexts/0/schemes/nr_schemes"27echo 1 > "$damon_sysfs/kdamonds/0/contexts/0/schemes/0/filters/nr_filters"2829filter_dir="$damon_sysfs/kdamonds/0/contexts/0/schemes/0/filters/0"3031# try to leak 128 times32for i in {1..128};33do34echo "012345678901234567890123456789" > "$filter_dir/memcg_path"35done3637echo scan > "$kmemleak"38kmemleak_report=$(cat "$kmemleak")39if [ "$kmemleak_report" = "" ]40then41exit 042fi43echo "$kmemleak_report"44exit 1454647