On 22.07.22 15:44, Peter Xu wrote: > On Fri, Jul 22, 2022 at 09:17:34AM +0200, David Hildenbrand wrote: >> On 21.07.22 20:33, Peter Xu wrote: >>> Add two soft-diryt test cases for mprotect() on both anon or file. >> >> s/soft-diryt/soft-dirty/ > > Fixed. > >> >>> >>> Signed-off-by: Peter Xu <peterx@xxxxxxxxxx> >>> --- >>> tools/testing/selftests/vm/soft-dirty.c | 69 ++++++++++++++++++++++++- >>> 1 file changed, 68 insertions(+), 1 deletion(-) >>> >>> diff --git a/tools/testing/selftests/vm/soft-dirty.c b/tools/testing/selftests/vm/soft-dirty.c >>> index 08ab62a4a9d0..7d93906aa43f 100644 >>> --- a/tools/testing/selftests/vm/soft-dirty.c >>> +++ b/tools/testing/selftests/vm/soft-dirty.c >>> @@ -121,13 +121,78 @@ static void test_hugepage(int pagemap_fd, int pagesize) >>> free(map); >>> } >>> >>> +static void test_mprotect(int pagemap_fd, int pagesize, bool anon) >>> +{ >>> + const char *type[] = {"file", "anon"}; >>> + const char *fname = "./soft-dirty-test-file"; >>> + int test_fd; >>> + char *map; >> >> Instead of fname, unlink, open, close, unlink you can use a tmpfile >> >> FILE *file; >> >> file = tmpfile(); >> if (!file) { >> ksft_test_result_fail("tmpfile() failed\n"); >> return; >> } >> test_fd = fileno(file); > > Note that tmpfile() should by default fetch from /tmp which is very > possibly a tmpfs afaict. It's tricky in this special test case since I > don't think tmpfs can trigger this bug (shmem doesn't define page_mkwrite). > I don't think we need that? SOFTDIRTY tracking enabled should be sufficient, or what am I missing? -- Thanks, David / dhildenb