Files
Centos-kernel-stream-9/kernel
CKI KWF Bot 4ab9332a1b Merge: futex: Drop CLONE_THREAD requirement for private default hash alloc
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/8374

JIRA: https://issues.redhat.com/browse/RHEL-193519
CVE: CVE-2026-52973

Conflicts:
  Minor context conflict on second hunk removing the comment as we have not
  backported commit 304b3f2bc07b ("sched: Allow sched_cgroup_fork() to fail
  and introduce sched_cancel_fork()").

This patch is a backport of the following upstream commit:
commit ee9dce44362b2d8132c32964656ab6dff7dfbc6a
Author: Davidlohr Bueso <dave@stgolabs.net>
Date:   Fri May 1 12:41:23 2026 -0700

    futex: Drop CLONE_THREAD requirement for private default hash alloc

    Currently need_futex_hash_allocate_default() depends on strict pthread
    semantics, abusing CLONE_THREAD.  This breaks the non-concurrency
    assumptions when doing the mm->futex_ref pcpu allocations, leading to
    bugs[0] when sharing the mm in other ways; ie:

        BUG: KASAN: slab-use-after-free in futex_hash_put

    ... where the +1 bias can end up on a percpu counter that mm->futex_ref
    no longer points at.

    Loosen the check to cover any CLONE_VM clone, except vfork().  Excluding
    vfork keeps the existing paths untouched (no overhead), and we can't
    race in the first place: either the parent is suspended and the child
    runs alone, or mm->futex_ref is already allocated from an earlier
    CLONE_VM.

    Link: https://lore.kernel.org/all/CAL_bE8LsmCQ-FAtYDuwbJhOkt9p2wwYQwAbMh=PifC=VsiBM6A@mail.gmail.com/ [0]
    Fixes: d9b05321e21e ("futex: Move futex_hash_free() back to __mmput()")
    Reported-by: Yiming Qian <yimingqian591@gmail.com>
    Signed-off-by: Davidlohr Bueso <dave@stgolabs.net>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Signed-off-by: Audra Mitchell <audra@redhat.com>

Approved-by: Waiman Long <longman@redhat.com>
Approved-by: Rafael Aquini <raquini@redhat.com>
Approved-by: Ricardo Robaina <rrobaina@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>

Merged-by: CKI GitLab Kmaint Pipeline Bot <26919896-cki-kmaint-pipeline-bot@users.noreply.gitlab.com>
2026-07-23 08:10:10 +00:00
..
2025-08-22 14:40:40 -04:00
2025-12-08 12:31:32 +08:00
2025-12-22 09:16:59 +01:00
2025-08-22 14:40:57 -04:00
2024-09-20 12:26:34 -07:00