[PATCH 0/2] selftests/mm: fix deadlock after pthread_create

Edward Liaw posted 2 patches 1 month, 3 weeks ago
tools/testing/selftests/mm/uffd-common.c     |  5 +++--
tools/testing/selftests/mm/uffd-common.h     |  3 +--
tools/testing/selftests/mm/uffd-unit-tests.c | 21 ++++++++++++++------
3 files changed, 19 insertions(+), 10 deletions(-)
[PATCH 0/2] selftests/mm: fix deadlock after pthread_create
Posted by Edward Liaw 1 month, 3 weeks ago
On Android arm, pthread_create followed by a fork caused a deadlock in
the case where the fork required work to be completed by the created
thread.

Updated the synchronization primitive to use pthread_barrier instead of
atomic_bool.

Applied the same fix to the wp-fork-with-event test.

Edward Liaw (2):
  selftests/mm: replace atomic_bool with pthread_barrier_t
  selftests/mm: fix deadlock for fork after pthread_create on ARM

 tools/testing/selftests/mm/uffd-common.c     |  5 +++--
 tools/testing/selftests/mm/uffd-common.h     |  3 +--
 tools/testing/selftests/mm/uffd-unit-tests.c | 21 ++++++++++++++------
 3 files changed, 19 insertions(+), 10 deletions(-)

--
2.46.1.824.gd892dcdcdd-goog
Re: [PATCH 0/2] selftests/mm: fix deadlock after pthread_create
Posted by Andrew Morton 1 month, 3 weeks ago
On Thu,  3 Oct 2024 21:17:09 +0000 Edward Liaw <edliaw@google.com> wrote:

> On Android arm, pthread_create followed by a fork caused a deadlock in
> the case where the fork required work to be completed by the created
> thread.
> 
> Updated the synchronization primitive to use pthread_barrier instead of
> atomic_bool.
> 
> Applied the same fix to the wp-fork-with-event test.
> 
> Edward Liaw (2):
>   selftests/mm: replace atomic_bool with pthread_barrier_t
>   selftests/mm: fix deadlock for fork after pthread_create on ARM

These fixes have different Fixes: targets, which might cause
backporting issues - some kernels might end up with one patch and not
the other.  Was this intended?  Is it OK?