mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-28 16:53:49 +00:00
asm-generic: introduce text-patching.h
Several architectures support text patching, but they name the header files that declare patching functions differently. Make all such headers consistently named text-patching.h and add an empty header in asm-generic for architectures that do not support text patching. Link: https://lkml.kernel.org/r/20241023162711.2579610-4-rppt@kernel.org Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> # m68k Acked-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Luis Chamberlain <mcgrof@kernel.org> Tested-by: kdevops <kdevops@lists.linux.dev> Cc: Andreas Larsson <andreas@gaisler.com> Cc: Andy Lutomirski <luto@kernel.org> Cc: Ard Biesheuvel <ardb@kernel.org> Cc: Borislav Petkov (AMD) <bp@alien8.de> Cc: Brian Cain <bcain@quicinc.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Christophe Leroy <christophe.leroy@csgroup.eu> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: Dinh Nguyen <dinguyen@kernel.org> Cc: Guo Ren <guoren@kernel.org> Cc: Helge Deller <deller@gmx.de> Cc: Huacai Chen <chenhuacai@kernel.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Johannes Berg <johannes@sipsolutions.net> Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Cc: Kent Overstreet <kent.overstreet@linux.dev> Cc: Liam R. Howlett <Liam.Howlett@Oracle.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Masami Hiramatsu (Google) <mhiramat@kernel.org> Cc: Matt Turner <mattst88@gmail.com> Cc: Max Filippov <jcmvbkbc@gmail.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Michal Simek <monstr@monstr.eu> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Palmer Dabbelt <palmer@dabbelt.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Richard Weinberger <richard@nod.at> Cc: Russell King <linux@armlinux.org.uk> Cc: Song Liu <song@kernel.org> Cc: Stafford Horne <shorne@gmail.com> Cc: Steven Rostedt (Google) <rostedt@goodmis.org> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Uladzislau Rezki (Sony) <urezki@gmail.com> Cc: Vineet Gupta <vgupta@kernel.org> Cc: Will Deacon <will@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
c82be0be95
commit
0c3beacf68
@ -5,3 +5,4 @@ generic-y += agp.h
|
||||
generic-y += asm-offsets.h
|
||||
generic-y += kvm_para.h
|
||||
generic-y += mcs_spinlock.h
|
||||
generic-y += text-patching.h
|
||||
|
@ -6,3 +6,4 @@ generic-y += kvm_para.h
|
||||
generic-y += mcs_spinlock.h
|
||||
generic-y += parport.h
|
||||
generic-y += user.h
|
||||
generic-y += text-patching.h
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include <asm/insn.h>
|
||||
#include <asm/set_memory.h>
|
||||
#include <asm/stacktrace.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
/*
|
||||
* The compiler emitted profiling hook consists of
|
||||
|
@ -1,7 +1,7 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/jump_label.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/insn.h>
|
||||
|
||||
static void __arch_jump_label_transform(struct jump_entry *entry,
|
||||
|
@ -15,7 +15,7 @@
|
||||
#include <linux/kgdb.h>
|
||||
#include <linux/uaccess.h>
|
||||
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/traps.h>
|
||||
|
||||
struct dbg_reg_def_t dbg_reg_def[DBG_MAX_REG_NUM] =
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include <asm/fixmap.h>
|
||||
#include <asm/smp_plat.h>
|
||||
#include <asm/opcodes.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
struct patch {
|
||||
void *addr;
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include <asm/cacheflush.h>
|
||||
#include <linux/percpu.h>
|
||||
#include <linux/bug.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/sections.h>
|
||||
|
||||
#include "../decode-arm.h"
|
||||
|
@ -14,7 +14,7 @@
|
||||
/* for arm_gen_branch */
|
||||
#include <asm/insn.h>
|
||||
/* for patch_text */
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
#include "core.h"
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
#include <asm/debug-monitors.h>
|
||||
#include <asm/ftrace.h>
|
||||
#include <asm/insn.h>
|
||||
#include <asm/patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
#ifdef CONFIG_DYNAMIC_FTRACE_WITH_ARGS
|
||||
struct fregs_offset {
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include <linux/jump_label.h>
|
||||
#include <linux/smp.h>
|
||||
#include <asm/insn.h>
|
||||
#include <asm/patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
bool arch_jump_label_transform_queue(struct jump_entry *entry,
|
||||
enum jump_label_type type)
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include <asm/debug-monitors.h>
|
||||
#include <asm/insn.h>
|
||||
#include <asm/patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/traps.h>
|
||||
|
||||
struct dbg_reg_def_t dbg_reg_def[DBG_MAX_REG_NUM] = {
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include <asm/fixmap.h>
|
||||
#include <asm/insn.h>
|
||||
#include <asm/kprobes.h>
|
||||
#include <asm/patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/sections.h>
|
||||
|
||||
static DEFINE_RAW_SPINLOCK(patch_lock);
|
||||
|
@ -27,7 +27,7 @@
|
||||
#include <asm/debug-monitors.h>
|
||||
#include <asm/insn.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/sections.h>
|
||||
#include <asm/system_misc.h>
|
||||
|
@ -41,7 +41,7 @@
|
||||
#include <asm/extable.h>
|
||||
#include <asm/insn.h>
|
||||
#include <asm/kprobes.h>
|
||||
#include <asm/patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/traps.h>
|
||||
#include <asm/smp.h>
|
||||
#include <asm/stack_pointer.h>
|
||||
|
@ -19,7 +19,7 @@
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/debug-monitors.h>
|
||||
#include <asm/insn.h>
|
||||
#include <asm/patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/set_memory.h>
|
||||
|
||||
#include "bpf_jit.h"
|
||||
|
@ -11,3 +11,4 @@ generic-y += qspinlock.h
|
||||
generic-y += parport.h
|
||||
generic-y += user.h
|
||||
generic-y += vmlinux.lds.h
|
||||
generic-y += text-patching.h
|
||||
|
@ -5,3 +5,4 @@ generic-y += extable.h
|
||||
generic-y += iomap.h
|
||||
generic-y += kvm_para.h
|
||||
generic-y += mcs_spinlock.h
|
||||
generic-y += text-patching.h
|
||||
|
@ -11,3 +11,4 @@ generic-y += ioctl.h
|
||||
generic-y += mmzone.h
|
||||
generic-y += statfs.h
|
||||
generic-y += param.h
|
||||
generic-y += text-patching.h
|
||||
|
@ -4,3 +4,4 @@ generic-y += extable.h
|
||||
generic-y += kvm_para.h
|
||||
generic-y += mcs_spinlock.h
|
||||
generic-y += spinlock.h
|
||||
generic-y += text-patching.h
|
||||
|
@ -8,3 +8,4 @@ generic-y += parport.h
|
||||
generic-y += syscalls.h
|
||||
generic-y += tlb.h
|
||||
generic-y += user.h
|
||||
generic-y += text-patching.h
|
||||
|
@ -13,3 +13,4 @@ generic-y += parport.h
|
||||
generic-y += qrwlock.h
|
||||
generic-y += qspinlock.h
|
||||
generic-y += user.h
|
||||
generic-y += text-patching.h
|
||||
|
@ -7,3 +7,4 @@ generic-y += kvm_para.h
|
||||
generic-y += mcs_spinlock.h
|
||||
generic-y += spinlock.h
|
||||
generic-y += user.h
|
||||
generic-y += text-patching.h
|
||||
|
@ -9,3 +9,4 @@ generic-y += spinlock.h
|
||||
generic-y += qrwlock_types.h
|
||||
generic-y += qrwlock.h
|
||||
generic-y += user.h
|
||||
generic-y += text-patching.h
|
||||
|
@ -20,7 +20,7 @@
|
||||
#include <asm/assembly.h>
|
||||
#include <asm/sections.h>
|
||||
#include <asm/ftrace.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
#define __hot __section(".text.hot")
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include <linux/jump_label.h>
|
||||
#include <linux/bug.h>
|
||||
#include <asm/alternative.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
static inline int reassemble_17(int as17)
|
||||
{
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/traps.h>
|
||||
#include <asm/processor.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/cacheflush.h>
|
||||
|
||||
const struct kgdb_arch arch_kgdb_ops = {
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include <linux/kprobes.h>
|
||||
#include <linux/slab.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL;
|
||||
DEFINE_PER_CPU(struct kprobe_ctlblk, kprobe_ctlblk);
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/fixmap.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
struct patch {
|
||||
void *addr;
|
||||
|
@ -21,7 +21,7 @@
|
||||
#include <linux/percpu.h>
|
||||
#include <linux/module.h>
|
||||
#include <asm/probes.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
#ifdef CONFIG_KPROBES
|
||||
#define __ARCH_WANT_KPROBES_INSN_SLOT
|
||||
|
@ -13,7 +13,7 @@
|
||||
#include <linux/io.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/of.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/kdump.h>
|
||||
#include <asm/firmware.h>
|
||||
#include <linux/uio.h>
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include <linux/of_fdt.h>
|
||||
#include <asm/epapr_hcalls.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/machdep.h>
|
||||
#include <asm/inst.h>
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/jump_label.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/inst.h>
|
||||
|
||||
void arch_jump_label_transform(struct jump_entry *entry,
|
||||
|
@ -21,7 +21,7 @@
|
||||
#include <asm/processor.h>
|
||||
#include <asm/machdep.h>
|
||||
#include <asm/debug.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <linux/slab.h>
|
||||
#include <asm/inst.h>
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
#include <linux/slab.h>
|
||||
#include <linux/set_memory.h>
|
||||
#include <linux/execmem.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/sstep.h>
|
||||
#include <asm/sections.h>
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include <linux/bug.h>
|
||||
#include <linux/sort.h>
|
||||
#include <asm/setup.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
/* Count how many different relocations (different symbol, different
|
||||
addend) */
|
||||
|
@ -17,7 +17,7 @@
|
||||
#include <linux/kernel.h>
|
||||
#include <asm/module.h>
|
||||
#include <asm/firmware.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <linux/sort.h>
|
||||
#include <asm/setup.h>
|
||||
#include <asm/sections.h>
|
||||
|
@ -13,7 +13,7 @@
|
||||
#include <asm/kprobes.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/sstep.h>
|
||||
#include <asm/ppc-opcode.h>
|
||||
#include <asm/inst.h>
|
||||
|
@ -54,7 +54,7 @@
|
||||
#include <asm/firmware.h>
|
||||
#include <asm/hw_irq.h>
|
||||
#endif
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/exec.h>
|
||||
#include <asm/livepatch.h>
|
||||
#include <asm/cpu_has_feature.h>
|
||||
|
@ -14,7 +14,7 @@
|
||||
#include <linux/debugfs.h>
|
||||
|
||||
#include <asm/asm-prototypes.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/security_features.h>
|
||||
#include <asm/sections.h>
|
||||
#include <asm/setup.h>
|
||||
|
@ -40,7 +40,7 @@
|
||||
#include <asm/time.h>
|
||||
#include <asm/serial.h>
|
||||
#include <asm/udbg.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/cpu_has_feature.h>
|
||||
#include <asm/asm-prototypes.h>
|
||||
#include <asm/kdump.h>
|
||||
|
@ -60,7 +60,7 @@
|
||||
#include <asm/xmon.h>
|
||||
#include <asm/udbg.h>
|
||||
#include <asm/kexec.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/ftrace.h>
|
||||
#include <asm/opal.h>
|
||||
#include <asm/cputhreads.h>
|
||||
|
@ -2,7 +2,7 @@
|
||||
#include <linux/memory.h>
|
||||
#include <linux/static_call.h>
|
||||
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
void arch_static_call_transform(void *site, void *tramp, void *func, bool tail)
|
||||
{
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include <linux/list.h>
|
||||
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/ftrace.h>
|
||||
#include <asm/syscall.h>
|
||||
#include <asm/inst.h>
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include <linux/list.h>
|
||||
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/ftrace.h>
|
||||
#include <asm/syscall.h>
|
||||
#include <asm/inst.h>
|
||||
|
@ -17,7 +17,7 @@
|
||||
#include <asm/tlb.h>
|
||||
#include <asm/tlbflush.h>
|
||||
#include <asm/page.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/inst.h>
|
||||
|
||||
static int __patch_mem(void *exec_addr, unsigned long val, void *patch_addr, bool is_dword)
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include <linux/sched/mm.h>
|
||||
#include <linux/stop_machine.h>
|
||||
#include <asm/cputable.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/interrupt.h>
|
||||
#include <asm/page.h>
|
||||
#include <asm/sections.h>
|
||||
|
@ -6,7 +6,7 @@
|
||||
#include <linux/vmalloc.h>
|
||||
#include <linux/init.h>
|
||||
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
static int __init instr_is_branch_to_addr(const u32 *instr, unsigned long addr)
|
||||
{
|
||||
|
@ -11,7 +11,7 @@
|
||||
#include <asm/cpu_has_feature.h>
|
||||
#include <asm/sstep.h>
|
||||
#include <asm/ppc-opcode.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/inst.h>
|
||||
|
||||
#define MAX_SUBTESTS 16
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
#include <asm/mmu.h>
|
||||
#include <asm/machdep.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/sections.h>
|
||||
|
||||
#include <mm/mmu_decl.h>
|
||||
|
@ -57,7 +57,7 @@
|
||||
#include <asm/sections.h>
|
||||
#include <asm/copro.h>
|
||||
#include <asm/udbg.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/fadump.h>
|
||||
#include <asm/firmware.h>
|
||||
#include <asm/tm.h>
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include <linux/pgtable.h>
|
||||
|
||||
#include <asm/udbg.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
#include "internal.h"
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/sched/task.h>
|
||||
#include <asm/pgalloc.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <mm/mmu_decl.h>
|
||||
|
||||
static pgprot_t __init kasan_prot_ro(void)
|
||||
|
@ -26,7 +26,7 @@
|
||||
#include <asm/svm.h>
|
||||
#include <asm/mmzone.h>
|
||||
#include <asm/ftrace.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/setup.h>
|
||||
#include <asm/fixmap.h>
|
||||
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include <asm/mmu.h>
|
||||
#include <asm/page.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/smp.h>
|
||||
|
||||
#include <mm/mmu_decl.h>
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include <asm/pgalloc.h>
|
||||
#include <asm/tlb.h>
|
||||
#include <asm/dma.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
#include <mm/mmu_decl.h>
|
||||
|
||||
|
@ -37,7 +37,7 @@
|
||||
#include <asm/pgalloc.h>
|
||||
#include <asm/tlbflush.h>
|
||||
#include <asm/tlb.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/cputhreads.h>
|
||||
#include <asm/hugetlb.h>
|
||||
#include <asm/paca.h>
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include <asm/pgalloc.h>
|
||||
#include <asm/tlbflush.h>
|
||||
#include <asm/tlb.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/cputhreads.h>
|
||||
|
||||
#include <mm/mmu_decl.h>
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include <linux/bpf.h>
|
||||
|
||||
#include <asm/kprobes.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
#include "bpf_jit.h"
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
#include <asm/machdep.h>
|
||||
#include <asm/firmware.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/inst.h>
|
||||
|
||||
#define PERF_8xx_ID_CPU_CYCLES 1
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include <asm/machdep.h>
|
||||
#include <asm/firmware.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/hw_irq.h>
|
||||
#include <asm/interrupt.h>
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include <asm/mpic.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/dbell.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/cputhreads.h>
|
||||
#include <asm/fsl_pm.h>
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include <linux/delay.h>
|
||||
#include <linux/pgtable.h>
|
||||
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/page.h>
|
||||
#include <asm/pci-bridge.h>
|
||||
#include <asm/mpic.h>
|
||||
|
@ -35,7 +35,7 @@
|
||||
#include <asm/firmware.h>
|
||||
#include <asm/rtas.h>
|
||||
#include <asm/cputhreads.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
#include "interrupt.h"
|
||||
#include <asm/udbg.h>
|
||||
|
@ -35,7 +35,7 @@
|
||||
|
||||
#include <asm/ptrace.h>
|
||||
#include <linux/atomic.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/page.h>
|
||||
#include <asm/sections.h>
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include <asm/opal.h>
|
||||
#include <asm/cputhreads.h>
|
||||
#include <asm/cpuidle.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/smp.h>
|
||||
#include <asm/runlatch.h>
|
||||
#include <asm/dbell.h>
|
||||
|
@ -28,7 +28,7 @@
|
||||
#include <asm/xive.h>
|
||||
#include <asm/opal.h>
|
||||
#include <asm/runlatch.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/dbell.h>
|
||||
#include <asm/kvm_ppc.h>
|
||||
#include <asm/ppc-opcode.h>
|
||||
|
@ -39,7 +39,7 @@
|
||||
#include <asm/xive.h>
|
||||
#include <asm/dbell.h>
|
||||
#include <asm/plpar_wrappers.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/svm.h>
|
||||
#include <asm/kvm_guest.h>
|
||||
|
||||
|
@ -50,7 +50,7 @@
|
||||
#include <asm/xive.h>
|
||||
#include <asm/opal.h>
|
||||
#include <asm/firmware.h>
|
||||
#include <asm/code-patching.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/sections.h>
|
||||
#include <asm/inst.h>
|
||||
#include <asm/interrupt.h>
|
||||
|
@ -13,7 +13,7 @@
|
||||
#include <asm/alternative.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/errata_list.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/processor.h>
|
||||
#include <asm/sbi.h>
|
||||
#include <asm/vendorid_list.h>
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/bug.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/alternative.h>
|
||||
#include <asm/vendorid_list.h>
|
||||
#include <asm/errata_list.h>
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include <asm/errata_list.h>
|
||||
#include <asm/hwprobe.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/vendorid_list.h>
|
||||
#include <asm/vendor_extensions.h>
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
#define _ASM_RISCV_UPROBES_H
|
||||
|
||||
#include <asm/probes.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/bug.h>
|
||||
|
||||
#define MAX_UINSN_BYTES 8
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include <asm/sbi.h>
|
||||
#include <asm/csr.h>
|
||||
#include <asm/insn.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
struct cpu_manufacturer_info_t {
|
||||
unsigned long vendor_id;
|
||||
|
@ -20,7 +20,8 @@
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/cpufeature.h>
|
||||
#include <asm/hwcap.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/hwprobe.h>
|
||||
#include <asm/processor.h>
|
||||
#include <asm/sbi.h>
|
||||
#include <asm/vector.h>
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include <linux/memory.h>
|
||||
#include <linux/stop_machine.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
#ifdef CONFIG_DYNAMIC_FTRACE
|
||||
void ftrace_arch_code_modify_prepare(void) __acquires(&text_mutex)
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include <linux/mutex.h>
|
||||
#include <asm/bug.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
#define RISCV_INSN_NOP 0x00000013U
|
||||
#define RISCV_INSN_JAL 0x0000006fU
|
||||
|
@ -13,7 +13,7 @@
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/fixmap.h>
|
||||
#include <asm/ftrace.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/sections.h>
|
||||
|
||||
struct patch_insn {
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include <asm/sections.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/bug.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
#include "decode-insn.h"
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include <linux/filter.h>
|
||||
#include <linux/memory.h>
|
||||
#include <linux/stop_machine.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/cfi.h>
|
||||
#include <asm/percpu.h>
|
||||
#include "bpf_jit.h"
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include <linux/bpf.h>
|
||||
#include <linux/filter.h>
|
||||
#include <linux/memory.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/text-patching.h>
|
||||
#include <asm/cfi.h>
|
||||
#include "bpf_jit.h"
|
||||
|
||||
|
@ -3,3 +3,4 @@ generated-y += syscall_table.h
|
||||
generic-y += kvm_para.h
|
||||
generic-y += mcs_spinlock.h
|
||||
generic-y += parport.h
|
||||
generic-y += text-patching.h
|
||||
|
@ -4,3 +4,4 @@ generated-y += syscall_table_64.h
|
||||
generic-y += agp.h
|
||||
generic-y += kvm_para.h
|
||||
generic-y += mcs_spinlock.h
|
||||
generic-y += text-patching.h
|
||||
|
@ -468,6 +468,11 @@ void *text_poke(void *addr, const void *opcode, size_t len)
|
||||
return memcpy(addr, opcode, len);
|
||||
}
|
||||
|
||||
void *text_poke_copy(void *addr, const void *opcode, size_t len)
|
||||
{
|
||||
return text_poke(addr, opcode, len);
|
||||
}
|
||||
|
||||
void text_poke_sync(void)
|
||||
{
|
||||
}
|
||||
|
@ -35,6 +35,7 @@ extern void *text_poke(void *addr, const void *opcode, size_t len);
|
||||
extern void text_poke_sync(void);
|
||||
extern void *text_poke_kgdb(void *addr, const void *opcode, size_t len);
|
||||
extern void *text_poke_copy(void *addr, const void *opcode, size_t len);
|
||||
#define text_poke_copy text_poke_copy
|
||||
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);
|
||||
|
@ -8,3 +8,4 @@ generic-y += parport.h
|
||||
generic-y += qrwlock.h
|
||||
generic-y += qspinlock.h
|
||||
generic-y += user.h
|
||||
generic-y += text-patching.h
|
||||
|
5
include/asm-generic/text-patching.h
Normal file
5
include/asm-generic/text-patching.h
Normal file
@ -0,0 +1,5 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef _ASM_GENERIC_TEXT_PATCHING_H
|
||||
#define _ASM_GENERIC_TEXT_PATCHING_H
|
||||
|
||||
#endif /* _ASM_GENERIC_TEXT_PATCHING_H */
|
15
include/linux/text-patching.h
Normal file
15
include/linux/text-patching.h
Normal file
@ -0,0 +1,15 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef _LINUX_TEXT_PATCHING_H
|
||||
#define _LINUX_TEXT_PATCHING_H
|
||||
|
||||
#include <asm/text-patching.h>
|
||||
|
||||
#ifndef text_poke_copy
|
||||
static inline void *text_poke_copy(void *dst, const void *src, size_t len)
|
||||
{
|
||||
return memcpy(dst, src, len);
|
||||
}
|
||||
#define text_poke_copy text_poke_copy
|
||||
#endif
|
||||
|
||||
#endif /* _LINUX_TEXT_PATCHING_H */
|
Loading…
Reference in New Issue
Block a user