mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 17:13:52 +02:00
x86/alternatives: Rename 'text_poke_bp()' to 'smp_text_poke_single()'
Signed-off-by: Ingo Molnar <mingo@kernel.org> Cc: Juergen Gross <jgross@suse.com> Cc: "H . Peter Anvin" <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20250411054105.2341982-7-mingo@kernel.org
This commit is contained in:
parent
bee4fcfbc1
commit
9586ae48e7
|
|
@ -39,7 +39,7 @@ extern void *text_poke_copy(void *addr, const void *opcode, size_t len);
|
|||
extern void *text_poke_copy_locked(void *addr, const void *opcode, size_t len, bool core_ok);
|
||||
extern void *text_poke_set(void *addr, int c, size_t len);
|
||||
extern int poke_int3_handler(struct pt_regs *regs);
|
||||
extern void text_poke_bp(void *addr, const void *opcode, size_t len, const void *emulate);
|
||||
extern void smp_text_poke_single(void *addr, const void *opcode, size_t len, const void *emulate);
|
||||
|
||||
extern void text_poke_queue(void *addr, const void *opcode, size_t len, const void *emulate);
|
||||
extern void text_poke_finish(void);
|
||||
|
|
|
|||
|
|
@ -2887,7 +2887,7 @@ void __ref text_poke_queue(void *addr, const void *opcode, size_t len, const voi
|
|||
}
|
||||
|
||||
/**
|
||||
* text_poke_bp() -- update instructions on live kernel on SMP
|
||||
* smp_text_poke_single() -- update instructions on live kernel on SMP
|
||||
* @addr: address to patch
|
||||
* @opcode: opcode of new instruction
|
||||
* @len: length to copy
|
||||
|
|
@ -2897,7 +2897,7 @@ void __ref text_poke_queue(void *addr, const void *opcode, size_t len, const voi
|
|||
* dynamically allocated memory. This function should be used when it is
|
||||
* not possible to allocate memory.
|
||||
*/
|
||||
void __ref text_poke_bp(void *addr, const void *opcode, size_t len, const void *emulate)
|
||||
void __ref smp_text_poke_single(void *addr, const void *opcode, size_t len, const void *emulate)
|
||||
{
|
||||
struct text_poke_loc tp;
|
||||
|
||||
|
|
|
|||
|
|
@ -186,11 +186,11 @@ int ftrace_update_ftrace_func(ftrace_func_t func)
|
|||
|
||||
ip = (unsigned long)(&ftrace_call);
|
||||
new = ftrace_call_replace(ip, (unsigned long)func);
|
||||
text_poke_bp((void *)ip, new, MCOUNT_INSN_SIZE, NULL);
|
||||
smp_text_poke_single((void *)ip, new, MCOUNT_INSN_SIZE, NULL);
|
||||
|
||||
ip = (unsigned long)(&ftrace_regs_call);
|
||||
new = ftrace_call_replace(ip, (unsigned long)func);
|
||||
text_poke_bp((void *)ip, new, MCOUNT_INSN_SIZE, NULL);
|
||||
smp_text_poke_single((void *)ip, new, MCOUNT_INSN_SIZE, NULL);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -492,7 +492,7 @@ void arch_ftrace_update_trampoline(struct ftrace_ops *ops)
|
|||
mutex_lock(&text_mutex);
|
||||
/* Do a safe modify in case the trampoline is executing */
|
||||
new = ftrace_call_replace(ip, (unsigned long)func);
|
||||
text_poke_bp((void *)ip, new, MCOUNT_INSN_SIZE, NULL);
|
||||
smp_text_poke_single((void *)ip, new, MCOUNT_INSN_SIZE, NULL);
|
||||
mutex_unlock(&text_mutex);
|
||||
}
|
||||
|
||||
|
|
@ -586,7 +586,7 @@ static int ftrace_mod_jmp(unsigned long ip, void *func)
|
|||
const char *new;
|
||||
|
||||
new = ftrace_jmp_replace(ip, (unsigned long)func);
|
||||
text_poke_bp((void *)ip, new, MCOUNT_INSN_SIZE, NULL);
|
||||
smp_text_poke_single((void *)ip, new, MCOUNT_INSN_SIZE, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ __jump_label_transform(struct jump_entry *entry,
|
|||
return;
|
||||
}
|
||||
|
||||
text_poke_bp((void *)jump_entry_code(entry), jlp.code, jlp.size, NULL);
|
||||
smp_text_poke_single((void *)jump_entry_code(entry), jlp.code, jlp.size, NULL);
|
||||
}
|
||||
|
||||
static void __ref jump_label_transform(struct jump_entry *entry,
|
||||
|
|
|
|||
|
|
@ -488,7 +488,7 @@ void arch_optimize_kprobes(struct list_head *oplist)
|
|||
insn_buff[0] = JMP32_INSN_OPCODE;
|
||||
*(s32 *)(&insn_buff[1]) = rel;
|
||||
|
||||
text_poke_bp(op->kp.addr, insn_buff, JMP32_INSN_SIZE, NULL);
|
||||
smp_text_poke_single(op->kp.addr, insn_buff, JMP32_INSN_SIZE, NULL);
|
||||
|
||||
list_del_init(&op->list);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ static void __ref __static_call_transform(void *insn, enum insn_type type,
|
|||
if (system_state == SYSTEM_BOOTING || modinit)
|
||||
return text_poke_early(insn, code, size);
|
||||
|
||||
text_poke_bp(insn, code, size, emulate);
|
||||
smp_text_poke_single(insn, code, size, emulate);
|
||||
}
|
||||
|
||||
static void __static_call_validate(u8 *insn, bool tail, bool tramp)
|
||||
|
|
|
|||
|
|
@ -629,7 +629,7 @@ static int __bpf_arch_text_poke(void *ip, enum bpf_text_poke_type t,
|
|||
goto out;
|
||||
ret = 1;
|
||||
if (memcmp(ip, new_insn, X86_PATCH_SIZE)) {
|
||||
text_poke_bp(ip, new_insn, X86_PATCH_SIZE, NULL);
|
||||
smp_text_poke_single(ip, new_insn, X86_PATCH_SIZE, NULL);
|
||||
ret = 0;
|
||||
}
|
||||
out:
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user