linux-stable/tools/testing/selftests/mm
Edward Liaw 8c864371b2 selftests/mm: fix ARM related issue with fork after pthread_create
Following issue was observed while running the uffd-unit-tests selftest
on ARM devices. On x86_64 no issues were detected:

pthread_create followed by fork caused deadlock in certain cases wherein
fork required some work to be completed by the created thread.  Used
synchronization to ensure that created thread's start function has started
before invoking fork.

[edliaw@google.com: refactored to use atomic_bool]
Link: https://lkml.kernel.org/r/20240325194100.775052-1-edliaw@google.com
Fixes: 760aee0b71 ("selftests/mm: add tests for RO pinning vs fork()")
Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Signed-off-by: Edward Liaw <edliaw@google.com>
Cc: Peter Xu <peterx@redhat.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2024-03-26 11:14:12 -07:00
..
.gitignore selftests/mm: new test that steals pages 2024-02-22 10:24:41 -08:00
charge_reserved_hugetlb.sh selftests/mm: save and restore nr_hugepages value 2024-02-22 15:38:55 -08:00
check_config.sh selftests/mm: give scripts execute permission 2023-07-14 09:24:31 -07:00
compaction_test.c selftests/mm: log a consistent test name for check_compaction 2024-02-22 10:24:57 -08:00
config selftests: mm: add pagemap ioctl tests 2023-10-18 14:34:13 -07:00
cow.c selftests/mm/cow: add tests for anonymous multi-size THP 2023-12-20 14:48:12 -08:00
gup_longterm.c selftests/mm: gup_longterm: fix a resource leak 2023-10-04 10:32:19 -07:00
gup_test.c selftests/mm: Fix build with _FORTIFY_SOURCE 2024-03-26 11:07:19 -07:00
hmm-tests.c selftests: avoid using SKIP(exit()) in harness fixure setup 2024-03-05 19:25:36 -08:00
hugepage-mmap.c selftests: mm: hugepage-mmap: conform to TAP format output 2024-01-05 10:17:48 -08:00
hugepage-mremap.c mm/selftests: hugepage-mremap: conform test to TAP format output 2024-01-05 10:17:47 -08:00
hugepage-shm.c selftests: mm: remove duplicate unneeded defines 2023-06-19 16:19:25 -07:00
hugepage-vmemmap.c selftests: mm: hugepage-vmemmap fails on 64K page size systems 2024-01-12 15:20:48 -08:00
hugetlb-madvise.c selftests/mm: skip the hugetlb-madvise tests on unmet hugepage requirements 2024-03-12 13:07:18 -07:00
hugetlb-read-hwpoison.c selftests/mm: add tests for HWPOISON hugetlbfs read 2023-08-18 10:12:27 -07:00
hugetlb_fault_after_madv.c selftests/mm: add a new test for madv and hugetlb 2023-10-18 14:34:16 -07:00
hugetlb_madv_vs_map.c selftests/mm: new test that steals pages 2024-02-22 10:24:41 -08:00
hugetlb_reparenting_test.sh selftests/mm: save and restore nr_hugepages value 2024-02-22 15:38:55 -08:00
khugepaged.c selftests/mm/khugepaged: enlighten for multi-size THP 2023-12-20 14:48:12 -08:00
ksm_functional_tests.c selftests/mm/ksm_functional: prevent unmapping undefined address 2024-02-21 16:00:02 -08:00
ksm_tests.c selftests/mm: ksm_tests should only MADV_HUGEPAGE valid memory 2024-01-25 23:52:21 -08:00
madv_populate.c selftests/mm: skip soft-dirty tests on arm64 2023-08-18 10:12:42 -07:00
Makefile - Kuan-Wei Chiu has developed the well-named series "lib min_heap: Min 2024-03-14 18:03:09 -07:00
map_fixed_noreplace.c selftests/mm: map_fixed_noreplace: conform test to TAP format output 2024-02-22 10:24:48 -08:00
map_hugetlb.c selftests/mm: map_hugetlb: conform test to TAP format output 2024-02-22 10:24:48 -08:00
map_populate.c selftests/mm: map_populate: conform test to TAP format output 2024-02-22 10:24:48 -08:00
mdwe_test.c kselftest: vm: add tests for no-inherit memory-deny-write-execute 2023-10-06 14:44:11 -07:00
memfd_secret.c selftests: secretmem: floor the memory size to the multiple of page_size 2023-12-20 13:46:19 -08:00
migration.c selftests/mm: make migration test robust to failure 2023-08-18 10:12:43 -07:00
mkdirty.c selftests/mm: mkdirty: fix incorrect position of #endif 2023-07-17 12:53:22 -07:00
mlock-random-test.c selftests/mm: mlock-random-test: conform test to TAP format output 2024-02-22 10:24:48 -08:00
mlock2-tests.c selftests/mm: mlock2-tests: conform test to TAP format output 2024-02-22 10:24:49 -08:00
mlock2.h selftests/mm: mlock2-tests: conform test to TAP format output 2024-02-22 10:24:49 -08:00
mrelease_test.c selftests/mm: mrelease_test: conform test to TAP format output 2024-02-22 10:24:49 -08:00
mremap_dontunmap.c selftests/mm: mremap_dontunmap: conform test to TAP format output 2024-02-22 10:24:49 -08:00
mremap_test.c selftests/mm: mremap_test: fix build warning 2024-01-25 23:52:20 -08:00
on-fault-limit.c selftests/mm: run_vmtests: remove sudo and conform to tap 2024-02-22 15:38:55 -08:00
pagemap_ioctl.c mm/selftests: fix pagemap_ioctl memory map test 2023-12-06 16:12:45 -08:00
pkey-helpers.h selftests/mm: Substitute attribute with a macro 2023-10-13 14:08:36 -06:00
pkey-powerpc.h selftests: mm: remove duplicate unneeded defines 2023-06-19 16:19:25 -07:00
pkey-x86.h selftests: mm: remove duplicate unneeded defines 2023-06-19 16:19:25 -07:00
protection_keys.c selftests: mm: restore settings from only parent process 2024-03-26 11:07:21 -07:00
run_vmtests.sh - Kuan-Wei Chiu has developed the well-named series "lib min_heap: Min 2024-03-14 18:03:09 -07:00
settings selftests/mm: run all tests from run_vmtests.sh 2023-08-18 10:12:43 -07:00
soft-dirty.c selftests/mm: Fix build with _FORTIFY_SOURCE 2024-03-26 11:07:19 -07:00
split_huge_page_test.c selftests/mm: Fix build with _FORTIFY_SOURCE 2024-03-26 11:07:19 -07:00
test_hmm.sh selftests/mm: give scripts execute permission 2023-07-14 09:24:31 -07:00
test_vmalloc.sh selftests/mm: give scripts execute permission 2023-07-14 09:24:31 -07:00
thp_settings.c selftests/mm: support multi-size THP interface in thp_settings 2023-12-20 14:48:12 -08:00
thp_settings.h selftests/mm: support multi-size THP interface in thp_settings 2023-12-20 14:48:12 -08:00
thuge-gen.c selftests/mm: thuge-gen: conform to TAP format output 2024-02-22 10:24:49 -08:00
transhuge-stress.c selftests/mm: transhuge-stress: conform to TAP format output 2024-02-22 10:24:49 -08:00
uffd-common.c selftests/mm: fix ARM related issue with fork after pthread_create 2024-03-26 11:14:12 -07:00
uffd-common.h selftests/mm: fix ARM related issue with fork after pthread_create 2024-03-26 11:14:12 -07:00
uffd-stress.c selftests/mm: skip uffd hugetlb tests with insufficient hugepages 2024-03-12 13:07:18 -07:00
uffd-unit-tests.c selftests/mm: fix ARM related issue with fork after pthread_create 2024-03-26 11:14:12 -07:00
va_high_addr_switch.c selftests/mm: va_high_addr_switch should skip unsupported arm64 configs 2023-08-18 10:12:43 -07:00
va_high_addr_switch.sh selftests/mm: Update va_high_addr_switch.sh to check CPU for la57 flag 2024-01-25 23:52:21 -08:00
virtual_address_range.c selftests/mm: virtual_address_range: conform to TAP format output 2024-02-22 10:24:49 -08:00
vm_util.c selftests/mm: transhuge-stress: conform to TAP format output 2024-02-22 10:24:49 -08:00
vm_util.h selftests/mm: export get_free_hugepages() 2023-10-18 14:34:16 -07:00
write_hugetlb_memory.sh selftests/mm: switch to bash from sh 2024-01-25 23:52:20 -08:00
write_to_hugetlbfs.c