diff options
| author | Ingo Molnar <mingo@kernel.org> | 2025-08-05 11:15:34 +0200 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2025-08-05 11:15:34 +0200 |
| commit | a53d0cf7f1cb3182ad533ff5cacfa5fd29c419ad (patch) | |
| tree | 59bd9bad63a1460a6079162fca98ea47f5a81679 /kernel/freezer.c | |
| parent | ed845c363d8c93eeaad4ce48bb7d5f81b6a75b61 (diff) | |
| parent | 352af6a011d586ff042db4b2d1f7421875eb8a14 (diff) | |
Merge commit 'linus' into core/bugs, to resolve conflicts
Resolve conflicts with this commit that was developed in parallel
during the merge window:
8c8efa93db68 ("x86/bug: Add ARCH_WARN_ASM macro for BUG/WARN asm code sharing with Rust")
Conflicts:
arch/riscv/include/asm/bug.h
arch/x86/include/asm/bug.h
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/freezer.c')
| -rw-r--r-- | kernel/freezer.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/kernel/freezer.c b/kernel/freezer.c index 8d530d0949ff..6a96149aede9 100644 --- a/kernel/freezer.c +++ b/kernel/freezer.c @@ -201,18 +201,9 @@ static int __restore_freezer_state(struct task_struct *p, void *arg) void __thaw_task(struct task_struct *p) { - unsigned long flags; - - spin_lock_irqsave(&freezer_lock, flags); - if (WARN_ON_ONCE(freezing(p))) - goto unlock; - - if (!frozen(p) || task_call_func(p, __restore_freezer_state, NULL)) - goto unlock; - - wake_up_state(p, TASK_FROZEN); -unlock: - spin_unlock_irqrestore(&freezer_lock, flags); + guard(spinlock_irqsave)(&freezer_lock); + if (frozen(p) && !task_call_func(p, __restore_freezer_state, NULL)) + wake_up_state(p, TASK_FROZEN); } /** |
