On 3 Jul 2025, at 0:43, wang lian wrote: > Add tests for process_madvise(), focusing on verifying behavior under > various conditions including valid usage and error cases. > > Signed-off-by: wang lian <lianux...@gmail.com> > Suggested-by: Lorenzo Stoakes <lorenzo.stoa...@oracle.com> > Suggested-by: David Hildenbrand <da...@redhat.com> > Acked-by: SeongJae Park <s...@kernel.org> > --- > > Changelog v3: > - Rebased onto the latest mm-stable branch to ensure clean application. > - Refactor common signal handling logic into vm_util to reduce code > duplication. > - Improve test robustness and diagnostics based on community feedback. > - Address minor code style and script corrections. > > Changelog v2: > - Drop MADV_DONTNEED tests based on feedback. > - Focus solely on process_madvise() syscall. > - Improve error handling and structure. > - Add future-proof flag test. > - Style and comment cleanups. > > tools/testing/selftests/mm/.gitignore | 1 + > tools/testing/selftests/mm/Makefile | 1 + > tools/testing/selftests/mm/guard-regions.c | 51 --- > tools/testing/selftests/mm/process_madv.c | 358 +++++++++++++++++++++ > tools/testing/selftests/mm/run_vmtests.sh | 5 + > tools/testing/selftests/mm/vm_util.c | 35 ++ > tools/testing/selftests/mm/vm_util.h | 22 ++ > 7 files changed, 422 insertions(+), 51 deletions(-) > create mode 100644 tools/testing/selftests/mm/process_madv.c >
<snip> > diff --git a/tools/testing/selftests/mm/process_madv.c > b/tools/testing/selftests/mm/process_madv.c > new file mode 100644 > index 000000000000..3d26105b4781 > --- /dev/null > +++ b/tools/testing/selftests/mm/process_madv.c > @@ -0,0 +1,358 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later > + > +#define _GNU_SOURCE > +#include "../kselftest_harness.h" > +#include <errno.h> > +#include <setjmp.h> > +#include <signal.h> > +#include <stdbool.h> > +#include <stdio.h> > +#include <stdlib.h> > +#include <string.h> > +#include <sys/mman.h> > +#include <sys/syscall.h> > +#include <unistd.h> > +#include <sched.h> > +#include <sys/pidfd.h> When I was compiling it on arm64, I got the error below. “fatal error: sys/pidfd.h: No such file or directory” I ran “make headers_install” before the compilation, but still got the error. It works fine with x86_64. I am not sure what I am missing. Best Regards, Yan, Zi