From bdab18633a302c82b5e5d5dbc4e38b0baf9c0837 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Sun, 20 Sep 2026 08:15:23 -0700 Subject: Merge tag 'locking-urgent-2026-09-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull futex fix from Ingo Molnar: - Also allocate a default private futex hash on vfork() as well, to avoid races with (private) futex waiters (Peter Zijlstra) * tag 'locking-urgent-2026-09-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: futex: Also allocate private hash on vfork() --- scripts/atomic/fallbacks/acquire | 5 +++++ scripts/atomic/fallbacks/add_negative | 3 +++ scripts/atomic/fallbacks/add_unless | 3 +++ scripts/atomic/fallbacks/andnot | 3 +++ scripts/atomic/fallbacks/cmpxchg | 3 +++ scripts/atomic/fallbacks/dec | 3 +++ scripts/atomic/fallbacks/dec_and_test | 3 +++ scripts/atomic/fallbacks/dec_if_positive | 11 +++++++++++ scripts/atomic/fallbacks/dec_unless_positive | 10 ++++++++++ scripts/atomic/fallbacks/fence | 7 +++++++ scripts/atomic/fallbacks/fetch_add_unless | 10 ++++++++++ scripts/atomic/fallbacks/inc | 3 +++ scripts/atomic/fallbacks/inc_and_test | 3 +++ scripts/atomic/fallbacks/inc_not_zero | 3 +++ scripts/atomic/fallbacks/inc_unless_negative | 10 ++++++++++ scripts/atomic/fallbacks/read_acquire | 12 ++++++++++++ scripts/atomic/fallbacks/release | 4 ++++ scripts/atomic/fallbacks/set_release | 8 ++++++++ scripts/atomic/fallbacks/sub_and_test | 3 +++ scripts/atomic/fallbacks/try_cmpxchg | 7 +++++++ scripts/atomic/fallbacks/xchg | 3 +++ 21 files changed, 117 insertions(+) create mode 100755 scripts/atomic/fallbacks/acquire create mode 100755 scripts/atomic/fallbacks/add_negative create mode 100755 scripts/atomic/fallbacks/add_unless create mode 100755 scripts/atomic/fallbacks/andnot create mode 100644 scripts/atomic/fallbacks/cmpxchg create mode 100755 scripts/atomic/fallbacks/dec create mode 100755 scripts/atomic/fallbacks/dec_and_test create mode 100755 scripts/atomic/fallbacks/dec_if_positive create mode 100755 scripts/atomic/fallbacks/dec_unless_positive create mode 100755 scripts/atomic/fallbacks/fence create mode 100755 scripts/atomic/fallbacks/fetch_add_unless create mode 100755 scripts/atomic/fallbacks/inc create mode 100755 scripts/atomic/fallbacks/inc_and_test create mode 100755 scripts/atomic/fallbacks/inc_not_zero create mode 100755 scripts/atomic/fallbacks/inc_unless_negative create mode 100755 scripts/atomic/fallbacks/read_acquire create mode 100755 scripts/atomic/fallbacks/release create mode 100755 scripts/atomic/fallbacks/set_release create mode 100755 scripts/atomic/fallbacks/sub_and_test create mode 100755 scripts/atomic/fallbacks/try_cmpxchg create mode 100644 scripts/atomic/fallbacks/xchg (limited to 'scripts/atomic/fallbacks') diff --git a/scripts/atomic/fallbacks/acquire b/scripts/atomic/fallbacks/acquire new file mode 100755 index 000000000..4da0cab36 --- /dev/null +++ b/scripts/atomic/fallbacks/acquire @@ -0,0 +1,5 @@ +cat <counter, old, new); +EOF diff --git a/scripts/atomic/fallbacks/dec b/scripts/atomic/fallbacks/dec new file mode 100755 index 000000000..60d286d40 --- /dev/null +++ b/scripts/atomic/fallbacks/dec @@ -0,0 +1,3 @@ +cat < 0)) + return false; + } while (!raw_${atomic}_try_cmpxchg(v, &c, c - 1)); + + return true; +EOF diff --git a/scripts/atomic/fallbacks/fence b/scripts/atomic/fallbacks/fence new file mode 100755 index 000000000..40d5b3976 --- /dev/null +++ b/scripts/atomic/fallbacks/fence @@ -0,0 +1,7 @@ +cat <counter); + } else { + ret = raw_${atomic}_read(v); + __atomic_acquire_fence(); + } + + return ret; +EOF diff --git a/scripts/atomic/fallbacks/release b/scripts/atomic/fallbacks/release new file mode 100755 index 000000000..1e6daf57b --- /dev/null +++ b/scripts/atomic/fallbacks/release @@ -0,0 +1,4 @@ +cat <counter, i); + } else { + __atomic_release_fence(); + raw_${atomic}_set(v, i); + } +EOF diff --git a/scripts/atomic/fallbacks/sub_and_test b/scripts/atomic/fallbacks/sub_and_test new file mode 100755 index 000000000..d1f746fe0 --- /dev/null +++ b/scripts/atomic/fallbacks/sub_and_test @@ -0,0 +1,3 @@ +cat <counter, new); +EOF -- cgit v1.3.1