mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00

Make sure the default return thunk is not used after all return instructions have been patched by the alternatives because the default return thunk is insufficient when it comes to mitigating Retbleed or SRSO. Fix based on an earlier version by David Kaplan <david.kaplan@amd.com>. [ bp: Fix the compilation error of warn_thunk_thunk being an invisible symbol, hoist thunk macro into calling.h ] Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org> Co-developed-by: Borislav Petkov (AMD) <bp@alien8.de> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Link: https://lore.kernel.org/r/20231010171020.462211-4-david.kaplan@amd.com Link: https://lore.kernel.org/r/20240104132446.GEZZaxnrIgIyat0pqf@fat_crate.local
16 lines
529 B
ArmAsm
16 lines
529 B
ArmAsm
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Save registers before calling assembly functions. This avoids
|
|
* disturbance of register allocation in some inline assembly constructs.
|
|
* Copyright 2001,2002 by Andi Kleen, SuSE Labs.
|
|
*/
|
|
#include <linux/export.h>
|
|
#include <linux/linkage.h>
|
|
#include "calling.h"
|
|
#include <asm/asm.h>
|
|
|
|
THUNK preempt_schedule_thunk, preempt_schedule
|
|
THUNK preempt_schedule_notrace_thunk, preempt_schedule_notrace
|
|
EXPORT_SYMBOL(preempt_schedule_thunk)
|
|
EXPORT_SYMBOL(preempt_schedule_notrace_thunk)
|