]> www.infradead.org Git - users/hch/misc.git/commitdiff
asm-generic: introduce text-patching.h
authorMike Rapoport (Microsoft) <rppt@kernel.org>
Wed, 23 Oct 2024 16:27:06 +0000 (19:27 +0300)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 7 Nov 2024 22:25:15 +0000 (14:25 -0800)
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>
92 files changed:
arch/alpha/include/asm/Kbuild
arch/arc/include/asm/Kbuild
arch/arm/include/asm/text-patching.h [moved from arch/arm/include/asm/patch.h with 100% similarity]
arch/arm/kernel/ftrace.c
arch/arm/kernel/jump_label.c
arch/arm/kernel/kgdb.c
arch/arm/kernel/patch.c
arch/arm/probes/kprobes/core.c
arch/arm/probes/kprobes/opt-arm.c
arch/arm64/include/asm/text-patching.h [moved from arch/arm64/include/asm/patching.h with 100% similarity]
arch/arm64/kernel/ftrace.c
arch/arm64/kernel/jump_label.c
arch/arm64/kernel/kgdb.c
arch/arm64/kernel/patching.c
arch/arm64/kernel/probes/kprobes.c
arch/arm64/kernel/traps.c
arch/arm64/net/bpf_jit_comp.c
arch/csky/include/asm/Kbuild
arch/hexagon/include/asm/Kbuild
arch/loongarch/include/asm/Kbuild
arch/m68k/include/asm/Kbuild
arch/microblaze/include/asm/Kbuild
arch/mips/include/asm/Kbuild
arch/nios2/include/asm/Kbuild
arch/openrisc/include/asm/Kbuild
arch/parisc/include/asm/text-patching.h [moved from arch/parisc/include/asm/patch.h with 100% similarity]
arch/parisc/kernel/ftrace.c
arch/parisc/kernel/jump_label.c
arch/parisc/kernel/kgdb.c
arch/parisc/kernel/kprobes.c
arch/parisc/kernel/patch.c
arch/powerpc/include/asm/kprobes.h
arch/powerpc/include/asm/text-patching.h [moved from arch/powerpc/include/asm/code-patching.h with 100% similarity]
arch/powerpc/kernel/crash_dump.c
arch/powerpc/kernel/epapr_paravirt.c
arch/powerpc/kernel/jump_label.c
arch/powerpc/kernel/kgdb.c
arch/powerpc/kernel/kprobes.c
arch/powerpc/kernel/module_32.c
arch/powerpc/kernel/module_64.c
arch/powerpc/kernel/optprobes.c
arch/powerpc/kernel/process.c
arch/powerpc/kernel/security.c
arch/powerpc/kernel/setup_32.c
arch/powerpc/kernel/setup_64.c
arch/powerpc/kernel/static_call.c
arch/powerpc/kernel/trace/ftrace.c
arch/powerpc/kernel/trace/ftrace_64_pg.c
arch/powerpc/lib/code-patching.c
arch/powerpc/lib/feature-fixups.c
arch/powerpc/lib/test-code-patching.c
arch/powerpc/lib/test_emulate_step.c
arch/powerpc/mm/book3s32/mmu.c
arch/powerpc/mm/book3s64/hash_utils.c
arch/powerpc/mm/book3s64/slb.c
arch/powerpc/mm/kasan/init_32.c
arch/powerpc/mm/mem.c
arch/powerpc/mm/nohash/44x.c
arch/powerpc/mm/nohash/book3e_pgtable.c
arch/powerpc/mm/nohash/tlb.c
arch/powerpc/mm/nohash/tlb_64e.c
arch/powerpc/net/bpf_jit_comp.c
arch/powerpc/perf/8xx-pmu.c
arch/powerpc/perf/core-book3s.c
arch/powerpc/platforms/85xx/smp.c
arch/powerpc/platforms/86xx/mpc86xx_smp.c
arch/powerpc/platforms/cell/smp.c
arch/powerpc/platforms/powermac/smp.c
arch/powerpc/platforms/powernv/idle.c
arch/powerpc/platforms/powernv/smp.c
arch/powerpc/platforms/pseries/smp.c
arch/powerpc/xmon/xmon.c
arch/riscv/errata/andes/errata.c
arch/riscv/errata/sifive/errata.c
arch/riscv/errata/thead/errata.c
arch/riscv/include/asm/text-patching.h [moved from arch/riscv/include/asm/patch.h with 100% similarity]
arch/riscv/include/asm/uprobes.h
arch/riscv/kernel/alternative.c
arch/riscv/kernel/cpufeature.c
arch/riscv/kernel/ftrace.c
arch/riscv/kernel/jump_label.c
arch/riscv/kernel/patch.c
arch/riscv/kernel/probes/kprobes.c
arch/riscv/net/bpf_jit_comp64.c
arch/riscv/net/bpf_jit_core.c
arch/sh/include/asm/Kbuild
arch/sparc/include/asm/Kbuild
arch/um/kernel/um_arch.c
arch/x86/include/asm/text-patching.h
arch/xtensa/include/asm/Kbuild
include/asm-generic/text-patching.h [new file with mode: 0644]
include/linux/text-patching.h [new file with mode: 0644]

index 396caece6d6d99c7a428f439322a0a18452e1a42..483965c5a4de2d3015a49e21e5b95716131b8fe7 100644 (file)
@@ -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
index 49285a3ce2398cc7442bc44172de76367dc33dda..4c69522e0328ee87ae2576ebf9f63b9434d13515 100644 (file)
@@ -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
index e61591f33a6cd132cbeea2ee32e015de0fa0a622..845acf9ce21e35d56e7eacb741b87a66084db43b 100644 (file)
@@ -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
index eb9c24b6e8e23a6d04ba88e35ca4e8adb295f3b1..a06a92d0f550855e1a779d1150ed7654c15ad8d6 100644 (file)
@@ -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,
index 22f937e6f3ffb12a7e854179b73ea2a77c0eb06b..ab76c55fd610c260a384d28df65582700b0894c6 100644 (file)
@@ -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] =
index e9e828b6bb30622d026f89f9f25bbc96bb2ea3a7..4d45e60cd46d1b17f69aa060ef2b5c740f7eb40b 100644 (file)
@@ -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;
index d8238da095df7d2890e0d8e14162fdc3315f905a..9fd877c87a38fdc6c42b0a8fb0fef064fd13e45c 100644 (file)
@@ -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"
index 7f65048380ca513c60675abf8a3916542c58fa2c..966c6042c5ad730636589f384a558c3277c79fae 100644 (file)
@@ -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"
 
index a650f5e11fc5d8614a4656b92cce3c4c446eb16f..3575d03d60aff10bec78aa829fa386a75be8ddfc 100644 (file)
@@ -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 {
index f63ea915d6ad250d56d20ac5e95ec203a641974c..b345425193d288ca0b4eba392d09cb25d818b27e 100644 (file)
@@ -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)
index 4e1f983df3d1c22df953e9249312683aa3e0d04e..f3c4d3a8a20f9336ab184f09c111e167947a6fbc 100644 (file)
@@ -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] = {
index 945df74005c7015e948be4178ae9a95c125eb7cb..7f99723fbb8c4fa02e2d6a18c85e68ebec71a858 100644 (file)
@@ -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);
index 4268678d0e86cc6cb3c25f13c2ab087a41876f76..01dbe9a56956bb1fe07a9d9d2164b06fb742e7ab 100644 (file)
@@ -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>
index 563cbce11126960a810d22b1cac024787f283a4e..7d819980408696ceb59130fd8987a3610d2acfb6 100644 (file)
@@ -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>
index 5db82bfc9dc1156c37ac4a87ce0e880e61542dd7..1bcae29ff181a9190ea212c933434c010190e7c1 100644 (file)
@@ -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"
index 9a9bc65b57a9d73dadc9d597700d7229f8554ddf..3a5c7f6e5aacbe85978b5aa09ee1846d5a73a7eb 100644 (file)
@@ -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
index 8c1a78c8f5271ebd47f1baad7b85e87220d1bbe8..1efa1e993d4b9a7c7582d7415825abcb62a2e191 100644 (file)
@@ -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
index 5b5a6c90e6e20771b1074a6262230861cc51bcb4..80ddb5edb8455ce206fe1c67c3156c486c07b892 100644 (file)
@@ -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
index 0dbf9c5c6faeb30eeb38bea52ab7fade99bbd44a..b282e0dd8dc10e4b4d5e1dbd6c735b56b29ee595 100644 (file)
@@ -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
index a055f5dbe00a31616592c3a848b49bbf9ead5d17..7178f990e8b3d1353c7e684eca5727d4b6198f27 100644 (file)
@@ -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
index 7ba67a0d6c97b2879fb710aca05ae1e2d47c8ce2..684569b2ecd6b50e109c969ef4a3283ec8048d63 100644 (file)
@@ -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
index 0d09829ed14454f2f15a32bf713fa1eb213e85ea..28004301c236f7a47e45c057326ba4035238254d 100644 (file)
@@ -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
index cef49d60d74c0f46f01cf46cc35e1e52404185f3..2b1a6b00cdac0a0adae4868e82afeda2b727b55e 100644 (file)
@@ -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
index c91f9c2e61ed25e605dacd34a6f270282c022e34..3e34b4473d3a7df019067e431288829bfa36c82d 100644 (file)
@@ -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")
 
index e253b134500d1319b576464ddc2a78493ee236d5..ea51f15bf0e647460eb9614bf02fcd535b4ba6c1 100644 (file)
@@ -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)
 {
index b16fa9bac5f44ccc27d2ba7d0bef2aa4090e98fb..fee81f877525eefe4a40f89ebe71bf599f088ac2 100644 (file)
@@ -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 = {
index 6e0b86652f30d6aed40ac072a921aae7a28c883b..9255adba67a36f1f63ce7988987a0f25285df8b2 100644 (file)
@@ -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);
index e59574f65e641a09cbedb2e0ca7fa5e6045f3650..35dd764b871e0bb7cc724cf77ff052a3ae489c99 100644 (file)
@@ -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;
index 4525a9c68260d9017dcc303e27c8e0d70dc6e5d9..dfe2e5ad3b216c311d29e1d0c1b80efc9b14331d 100644 (file)
@@ -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
index 2086fa6cdc25bf2934358a1a402a970a33833a22..103b6605dd68f8a3d7e7e41b83e2be0b596531c6 100644 (file)
@@ -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>
index d4b8aff2081567945b2db043351be6dab5b69e42..247ab2acaccca9da62901b7796a0022dcc5b59a9 100644 (file)
@@ -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>
 
index 5277cf582c1611010c50fd56a9396f7d11d8d026..2659e1ac860465ecb999db474ec78c4d53a61b7c 100644 (file)
@@ -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,
index 7a8bc03a00af0931ec50a9571b4b78243d6dc7b5..5081334b7bd217be9fa232f5254cb05f23c6e956 100644 (file)
@@ -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>
 
index f8aa91bc3b1759de2ca6fcf20fb815588914b16a..9c85bbcc5201cab9a3ad506faf4f69485c8c5f68 100644 (file)
@@ -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>
index 816a63fd71fbfb6fd3dbd0c2fd62f052dcca06c0..f930e3395a7f27098f51f08b06fe3462ad58a29a 100644 (file)
@@ -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) */
index e9bab599d0c2745e4d2b5cae04f2c56395c24654..135960918d14c816a64cf6415161c7ac1fcdefa0 100644 (file)
@@ -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>
index c0b351d61058f76f4cbed497efb445d4f45285d6..2e83702bf9ba677042b6abaa7e08bb17dab4be39 100644 (file)
@@ -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>
index ff61a3e7984cecce32ecb29e337845b0b56348ce..7b739b9a91ab9015e6acb4e0a6e7945d30afe495 100644 (file)
@@ -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>
index 4856e1a5161cccab5d7d5685dc1c9fc69516d119..fbb7ebd8aa08bcb7d08903c1507993ad214ef415 100644 (file)
@@ -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>
index e515c1f7d8d33be341dc0f0b1eb6ca3cd6b402d0..75dbf3e0d9c4bce5849186345a90945c27731bac 100644 (file)
@@ -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>
index 22f83fbbc762acf787aa694a89db62439e276e40..3ebf5b9fbe9845d6b7513e6baeabe1f55d688209 100644 (file)
@@ -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>
index 1502b7e439cafb0da6e13da0c50a60489df76622..7cfd0710e7579e7597c3568220826a0f1755ee95 100644 (file)
@@ -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)
 {
index d8d6b4fd9a14cbf8f8f93e499500eed11190be71..be1a245241b3b13495815ca98c74e2d8f802fffa 100644 (file)
@@ -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>
index 12fab1803bcf45cafb3fd230c1f7871e2c539f1d..9e862ba5526397638bac0c04786551b6f44107d4 100644 (file)
@@ -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>
index acdab294b340a89c5ce84b17b721745d3a10ac4d..af97fbb3c257ef1ac96e8a1547db16e7898fadb5 100644 (file)
@@ -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)
index b7201ba50b2ea5c0fe719e19d2e3f4084820ac59..587c8cf1230fbd7b5f338fa71dd4a432876fd635 100644 (file)
@@ -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>
index 8cd3b32f805b0f443bdb575b82a77d5419897bf7..1440d99630b339c1518c2efbaf2c40ba54f87717 100644 (file)
@@ -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)
 {
index 23c7805fb7b3bddfd20f4976e796ce8e68a26d67..66b5b4fa16864937e25b8a9643c9eab76906b937 100644 (file)
@@ -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
index 2db167f4233f7bb82ace3816c549a920f340a436..6978344edcb4b5beec6ad666a947a023d0a48aff 100644 (file)
@@ -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>
index e1eadd03f133909475137925a1f78d7cbc34a483..47b22282269c13f3db7ee1d76c75542f25ad023f 100644 (file)
@@ -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>
index f2708c8629a52777eef97a0514d1a9b1a786023c..6b783552403c60421a8e85d8cd0e6d6a2ce4fddf 100644 (file)
@@ -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"
 
index aa9aa11927b2f842718d98e7818fcd499efd0e54..03666d790a53519092c4a3be83d21497fadfe8a5 100644 (file)
@@ -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)
index 1221c561b43a0ba11b904141da3f4b5bd2ff267a..c7708c8fad299bab3f3bd901ff5f9907a5aaf723 100644 (file)
@@ -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>
 
index 1beae802bb1c0d62140a45d90982ca862b8e3da9..6d10c6d8be7192f66b8ab28d3a71684a65c21d4f 100644 (file)
@@ -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>
index ad2a7c26f2a00ba9844ea8222e054b9bd6e94ecf..062e8785c1bb642a7c9e3a45ac4a3f0def1185b8 100644 (file)
@@ -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>
 
index b653a7be4cb1d3950c39b9a8c955ebd1d80e7ee6..0a650742f3a00805237ad613e8018edd3b1d1a02 100644 (file)
@@ -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>
index d26656b07b72cda75ec73358e919caa9898a3f7e..4f925adf26959736f846d113e50023baa854a5d0 100644 (file)
@@ -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>
index 2a36cc2e7e9e217790be2ae14b6b7fa6821139f8..68c6a13e6acb117acf111f5cb906fe7b7f4bae6c 100644 (file)
@@ -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"
 
index 308a2e40d7be9992624b15c40ce85bfdf4df5dd0..1d2972229e3a7e59d5d31701e55654e1f3637678 100644 (file)
@@ -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
index 42867469752d73cfc59b9a377844a0185d3fe8a0..a727cd111cac22d4cb02ab3f4357c1f4ed1d5d35 100644 (file)
@@ -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>
 
index e52b848b64b79a3d6560c2af0aa89301736cd944..32fa5fb557c0357808c982f18623335cf496fb6f 100644 (file)
@@ -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>
 
index 8a7e55acf090fdc6a87284663755284e9dd33e2b..9be33e41af6dbaf142fe8c21b50d62447ef8d7ab 100644 (file)
@@ -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>
index fee638fd897026b7371ae7d493b854eb493977f2..0e8f20ecca088fb8aaed01806bbecc0932ff4914 100644 (file)
@@ -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>
index d21b681f52fb0ea634a5f4a562a0516b58737a57..09e7fe24fac10b07e77f604fab1b38fcb8c7e5a1 100644 (file)
@@ -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>
index ad41dffe4d9291a5cf3d0cea8b973d0cdc1167b3..d98b933e4984c2d68cef7ba0c46df26eed635305 100644 (file)
@@ -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>
index 8f14f0581a21b131411eedcccec5c6775a0353fe..6b746feeabe4ac9fdbfc96b78469ec9ae2fda934 100644 (file)
@@ -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>
index c597711ef20a2b561b4673ab4d318cca064bdd46..db99725e752bd56a4c6ee0e80e3cfbecedf54ddf 100644 (file)
@@ -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>
 
index e6cddbb2305f8d07d2cad538b93a1d7e3743a4e9..e76e1d5d0611e4a67f763369d2f93ffc581eb759 100644 (file)
@@ -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>
index fc1a34faa5f3bc5313bab237eac812503bca7994..dcc9d1ee5ffd30fbb0753cc2f7c114d4a877812b 100644 (file)
@@ -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>
index cea3b96ade11a6b54e9d7b97a2afdb66b829a417..38aac2c47845a06f66e47a02e73ec7e8702ac557 100644 (file)
@@ -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>
index f5120e07c3182642026e8e0c7083e054ba3fd9de..e24770a779323f5dc8e38ac128dfa75365d1ca7f 100644 (file)
@@ -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>
 
index 3fc7deda9190251510f96d952c5276a900912676..5008f76cdc2753457391299472c0433bf1268788 100644 (file)
@@ -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
index 0128b161bfdab2d88377b99386490e8a4f3571d8..7eb3cb1215c62130c63a72fc650cddff6bae62af 100644 (file)
@@ -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;
index 3a8eeaa9310c32fce2141aff534dc4432b32abbe..826f46b21f2e863bc574c8112f5bd648425ece57 100644 (file)
@@ -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>
index 4b95c574fd0457432d7bad17cac888ecbedfe0e0..a7620ef93b6ce3cecabebc6b58c3b626193d599a 100644 (file)
@@ -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)
index 11ad789c60c6984600b36c1089e01f819f8228c8..6eee6f736f68764c996ef3838f2671d9a1f4266f 100644 (file)
@@ -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
index 34ef522f07a8c2179b5643b07c82f22284a1907b..db13c9ddf9e3d4e6d2e3008340284fdfeb34dd21 100644 (file)
@@ -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 {
index 474a6521365783c76f206c2771df21c63f1edbf7..380a0e8cecc0b25f2caabac96b075b32c1fe0407 100644 (file)
@@ -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"
 
index 4cc631fa703913377d1d109e9a0a06a7ada2cb4a..ca60db75199d1b3d4844450f097bde594dfff67b 100644 (file)
@@ -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"
index 6de753c667f42af8dd20a57ae7eba3b1e413fc37..f8cd2f70a7fb4bfae8cd6cfdf70f611f8d0cac5e 100644 (file)
@@ -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"
 
index fc44d9c88b41915a7021042eb8b462517cfdbd2c..4d3f10ed827581f8b8603b3b1a273de7f34eca67 100644 (file)
@@ -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
index 43b0ae4c2c2112d4d4d3cb3c60e787b175172dea..17ee8a273aa6b4112818006630d8e0b1cf58fd18 100644 (file)
@@ -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
index 8e594cda6d778db0882cae362be80bc61e82608d..f8de31a0c5d126c37c61a08ad85e852ba389fed3 100644 (file)
@@ -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)
 {
 }
index 6259f1937fe77e348d259f3fecf9d400d75a956d..ab9e143ec9fea182b5247cc1b379e9559ca0fd48 100644 (file)
@@ -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);
index fa07c686cbcc2153776a478ac4093846f01eddab..cc5dba738389c371645133c0c1ea496b55df95fb 100644 (file)
@@ -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
diff --git a/include/asm-generic/text-patching.h b/include/asm-generic/text-patching.h
new file mode 100644 (file)
index 0000000..2245c64
--- /dev/null
@@ -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 */
diff --git a/include/linux/text-patching.h b/include/linux/text-patching.h
new file mode 100644 (file)
index 0000000..ad5877a
--- /dev/null
@@ -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 */