mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-03-16 04:04:06 +00:00
x86,static_call: Fix static-call vs return-thunk
Commit7825451fa4
("static_call: Add call depth tracking support") failed to realize the problem fixed there is not specific to call depth tracking but applies to all return-thunk uses. Move the fix to the appropriate place and condition. Fixes:ee88d363d1
("x86,static_call: Use alternative RET encoding") Reported-by: David Kaplan <David.Kaplan@amd.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Reviewed-by: Ingo Molnar <mingo@kernel.org> Tested-by: Borislav Petkov (AMD) <bp@alien8.de> Cc: <stable@kernel.org>
This commit is contained in:
parent
4ba89dd6dd
commit
aee9d30b97
2 changed files with 3 additions and 1 deletions
|
@ -720,6 +720,9 @@ void __init_or_module noinline apply_returns(s32 *start, s32 *end)
|
|||
{
|
||||
s32 *s;
|
||||
|
||||
if (cpu_feature_enabled(X86_FEATURE_RETHUNK))
|
||||
static_call_force_reinit();
|
||||
|
||||
for (s = start; s < end; s++) {
|
||||
void *dest = NULL, *addr = (void *)s + *s;
|
||||
struct insn insn;
|
||||
|
|
|
@ -272,7 +272,6 @@ void __init callthunks_patch_builtin_calls(void)
|
|||
pr_info("Setting up call depth tracking\n");
|
||||
mutex_lock(&text_mutex);
|
||||
callthunks_setup(&cs, &builtin_coretext);
|
||||
static_call_force_reinit();
|
||||
thunks_initialized = true;
|
||||
mutex_unlock(&text_mutex);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue