diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2025-09-18 15:09:45 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2025-09-24 09:20:02 +0200 |
commit | 4ec3c15462b9f44562f45723a92e2807746ba7d1 (patch) | |
tree | 29e9329d7ebbbcbd68d3de77e48c21473a315a18 /drivers/base/class_simple.c | |
parent | b549113738e8c751b613118032a724b772aa83f2 (diff) |
futex: Use correct exit on failure from futex_hash_allocate_default()
copy_process() uses the wrong error exit path from futex_hash_allocate_default().
After exiting from futex_hash_allocate_default(), neither tasklist_lock
nor siglock has been acquired. The exit label bad_fork_core_free unlocks
both of these locks which is wrong.
The next exit label, bad_fork_cancel_cgroup, is the correct exit.
sched_cgroup_fork() did not allocate any resources that need to freed.
Use bad_fork_cancel_cgroup on error exit from futex_hash_allocate_default().
Fixes: 7c4f75a21f636 ("futex: Allow automatic allocation of process wide futex hash")
Reported-by: syzbot+80cb3cc5c14fad191a10@syzkaller.appspotmail.com
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Closes: https://lore.kernel.org/all/68cb1cbd.050a0220.2ff435.0599.GAE@google.com
Diffstat (limited to 'drivers/base/class_simple.c')
0 files changed, 0 insertions, 0 deletions