Skip to content

Commit 6ffd654

Browse files
author
Fox Snowpatch
committed
1 parent f85c105 commit 6ffd654

File tree

118 files changed

+829
-235
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+829
-235
lines changed

arch/alpha/include/asm/Kbuild

+1
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ generic-y += agp.h
55
generic-y += asm-offsets.h
66
generic-y += kvm_para.h
77
generic-y += mcs_spinlock.h
8+
generic-y += text-patching.h

arch/arc/include/asm/Kbuild

+1
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ generic-y += kvm_para.h
66
generic-y += mcs_spinlock.h
77
generic-y += parport.h
88
generic-y += user.h
9+
generic-y += text-patching.h
File renamed without changes.

arch/arm/kernel/ftrace.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
#include <asm/insn.h>
2424
#include <asm/set_memory.h>
2525
#include <asm/stacktrace.h>
26-
#include <asm/patch.h>
26+
#include <asm/text-patching.h>
2727

2828
/*
2929
* The compiler emitted profiling hook consists of

arch/arm/kernel/jump_label.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// SPDX-License-Identifier: GPL-2.0
22
#include <linux/kernel.h>
33
#include <linux/jump_label.h>
4-
#include <asm/patch.h>
4+
#include <asm/text-patching.h>
55
#include <asm/insn.h>
66

77
static void __arch_jump_label_transform(struct jump_entry *entry,

arch/arm/kernel/kgdb.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
#include <linux/kgdb.h>
1616
#include <linux/uaccess.h>
1717

18-
#include <asm/patch.h>
18+
#include <asm/text-patching.h>
1919
#include <asm/traps.h>
2020

2121
struct dbg_reg_def_t dbg_reg_def[DBG_MAX_REG_NUM] =

arch/arm/kernel/patch.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#include <asm/fixmap.h>
1010
#include <asm/smp_plat.h>
1111
#include <asm/opcodes.h>
12-
#include <asm/patch.h>
12+
#include <asm/text-patching.h>
1313

1414
struct patch {
1515
void *addr;

arch/arm/probes/kprobes/core.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
#include <asm/cacheflush.h>
2626
#include <linux/percpu.h>
2727
#include <linux/bug.h>
28-
#include <asm/patch.h>
28+
#include <asm/text-patching.h>
2929
#include <asm/sections.h>
3030

3131
#include "../decode-arm.h"

arch/arm/probes/kprobes/opt-arm.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
/* for arm_gen_branch */
1515
#include <asm/insn.h>
1616
/* for patch_text */
17-
#include <asm/patch.h>
17+
#include <asm/text-patching.h>
1818

1919
#include "core.h"
2020

arch/arm64/include/asm/set_memory.h

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ int set_memory_valid(unsigned long addr, int numpages, int enable);
1313

1414
int set_direct_map_invalid_noflush(struct page *page);
1515
int set_direct_map_default_noflush(struct page *page);
16+
int set_direct_map_valid_noflush(struct page *page, unsigned nr, bool valid);
1617
bool kernel_page_present(struct page *page);
1718

1819
#endif /* _ASM_ARM64_SET_MEMORY_H */
File renamed without changes.

arch/arm64/kernel/ftrace.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
#include <asm/debug-monitors.h>
1616
#include <asm/ftrace.h>
1717
#include <asm/insn.h>
18-
#include <asm/patching.h>
18+
#include <asm/text-patching.h>
1919

2020
#ifdef CONFIG_DYNAMIC_FTRACE_WITH_ARGS
2121
struct fregs_offset {

arch/arm64/kernel/jump_label.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#include <linux/jump_label.h>
1010
#include <linux/smp.h>
1111
#include <asm/insn.h>
12-
#include <asm/patching.h>
12+
#include <asm/text-patching.h>
1313

1414
bool arch_jump_label_transform_queue(struct jump_entry *entry,
1515
enum jump_label_type type)

arch/arm64/kernel/kgdb.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
#include <asm/debug-monitors.h>
1919
#include <asm/insn.h>
20-
#include <asm/patching.h>
20+
#include <asm/text-patching.h>
2121
#include <asm/traps.h>
2222

2323
struct dbg_reg_def_t dbg_reg_def[DBG_MAX_REG_NUM] = {

arch/arm64/kernel/patching.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#include <asm/fixmap.h>
1111
#include <asm/insn.h>
1212
#include <asm/kprobes.h>
13-
#include <asm/patching.h>
13+
#include <asm/text-patching.h>
1414
#include <asm/sections.h>
1515

1616
static DEFINE_RAW_SPINLOCK(patch_lock);

arch/arm64/kernel/probes/kprobes.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
#include <asm/debug-monitors.h>
2828
#include <asm/insn.h>
2929
#include <asm/irq.h>
30-
#include <asm/patching.h>
30+
#include <asm/text-patching.h>
3131
#include <asm/ptrace.h>
3232
#include <asm/sections.h>
3333
#include <asm/system_misc.h>

arch/arm64/kernel/traps.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
#include <asm/extable.h>
4242
#include <asm/insn.h>
4343
#include <asm/kprobes.h>
44-
#include <asm/patching.h>
44+
#include <asm/text-patching.h>
4545
#include <asm/traps.h>
4646
#include <asm/smp.h>
4747
#include <asm/stack_pointer.h>

arch/arm64/mm/pageattr.c

+10
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,16 @@ int set_direct_map_default_noflush(struct page *page)
192192
PAGE_SIZE, change_page_range, &data);
193193
}
194194

195+
int set_direct_map_valid_noflush(struct page *page, unsigned nr, bool valid)
196+
{
197+
unsigned long addr = (unsigned long)page_address(page);
198+
199+
if (!can_set_direct_map())
200+
return 0;
201+
202+
return set_memory_valid(addr, nr, valid);
203+
}
204+
195205
#ifdef CONFIG_DEBUG_PAGEALLOC
196206
void __kernel_map_pages(struct page *page, int numpages, int enable)
197207
{

arch/arm64/net/bpf_jit_comp.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#include <asm/cacheflush.h>
2020
#include <asm/debug-monitors.h>
2121
#include <asm/insn.h>
22-
#include <asm/patching.h>
22+
#include <asm/text-patching.h>
2323
#include <asm/set_memory.h>
2424

2525
#include "bpf_jit.h"

arch/csky/include/asm/Kbuild

+1
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ generic-y += qspinlock.h
1111
generic-y += parport.h
1212
generic-y += user.h
1313
generic-y += vmlinux.lds.h
14+
generic-y += text-patching.h

arch/hexagon/include/asm/Kbuild

+1
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ generic-y += extable.h
55
generic-y += iomap.h
66
generic-y += kvm_para.h
77
generic-y += mcs_spinlock.h
8+
generic-y += text-patching.h

arch/loongarch/include/asm/Kbuild

+1
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ generic-y += ioctl.h
1111
generic-y += mmzone.h
1212
generic-y += statfs.h
1313
generic-y += param.h
14+
generic-y += text-patching.h

arch/loongarch/include/asm/set_memory.h

+1
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,6 @@ int set_memory_rw(unsigned long addr, int numpages);
1717
bool kernel_page_present(struct page *page);
1818
int set_direct_map_default_noflush(struct page *page);
1919
int set_direct_map_invalid_noflush(struct page *page);
20+
int set_direct_map_valid_noflush(struct page *page, unsigned nr, bool valid);
2021

2122
#endif /* _ASM_LOONGARCH_SET_MEMORY_H */

arch/loongarch/mm/pageattr.c

+19
Original file line numberDiff line numberDiff line change
@@ -216,3 +216,22 @@ int set_direct_map_invalid_noflush(struct page *page)
216216

217217
return __set_memory(addr, 1, __pgprot(0), __pgprot(_PAGE_PRESENT | _PAGE_VALID));
218218
}
219+
220+
int set_direct_map_valid_noflush(struct page *page, unsigned nr, bool valid)
221+
{
222+
unsigned long addr = (unsigned long)page_address(page);
223+
pgprot_t set, clear;
224+
225+
if (addr < vm_map_base)
226+
return 0;
227+
228+
if (valid) {
229+
set = PAGE_KERNEL;
230+
clear = __pgprot(0);
231+
} else {
232+
set = __pgprot(0);
233+
clear = __pgprot(_PAGE_PRESENT | _PAGE_VALID);
234+
}
235+
236+
return __set_memory(addr, 1, set, clear);
237+
}

arch/m68k/include/asm/Kbuild

+1
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ generic-y += extable.h
44
generic-y += kvm_para.h
55
generic-y += mcs_spinlock.h
66
generic-y += spinlock.h
7+
generic-y += text-patching.h

arch/microblaze/include/asm/Kbuild

+1
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ generic-y += parport.h
88
generic-y += syscalls.h
99
generic-y += tlb.h
1010
generic-y += user.h
11+
generic-y += text-patching.h

arch/mips/include/asm/Kbuild

+1
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ generic-y += parport.h
1313
generic-y += qrwlock.h
1414
generic-y += qspinlock.h
1515
generic-y += user.h
16+
generic-y += text-patching.h

arch/nios2/include/asm/Kbuild

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ generic-y += kvm_para.h
77
generic-y += mcs_spinlock.h
88
generic-y += spinlock.h
99
generic-y += user.h
10+
generic-y += text-patching.h

arch/openrisc/include/asm/Kbuild

+1
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ generic-y += spinlock.h
99
generic-y += qrwlock_types.h
1010
generic-y += qrwlock.h
1111
generic-y += user.h
12+
generic-y += text-patching.h
File renamed without changes.

arch/parisc/kernel/ftrace.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
#include <asm/assembly.h>
2121
#include <asm/sections.h>
2222
#include <asm/ftrace.h>
23-
#include <asm/patch.h>
23+
#include <asm/text-patching.h>
2424

2525
#define __hot __section(".text.hot")
2626

arch/parisc/kernel/jump_label.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#include <linux/jump_label.h>
99
#include <linux/bug.h>
1010
#include <asm/alternative.h>
11-
#include <asm/patch.h>
11+
#include <asm/text-patching.h>
1212

1313
static inline int reassemble_17(int as17)
1414
{

arch/parisc/kernel/kgdb.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#include <asm/ptrace.h>
1717
#include <asm/traps.h>
1818
#include <asm/processor.h>
19-
#include <asm/patch.h>
19+
#include <asm/text-patching.h>
2020
#include <asm/cacheflush.h>
2121

2222
const struct kgdb_arch arch_kgdb_ops = {

arch/parisc/kernel/kprobes.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
#include <linux/kprobes.h>
1313
#include <linux/slab.h>
1414
#include <asm/cacheflush.h>
15-
#include <asm/patch.h>
15+
#include <asm/text-patching.h>
1616

1717
DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL;
1818
DEFINE_PER_CPU(struct kprobe_ctlblk, kprobe_ctlblk);

arch/parisc/kernel/patch.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
#include <asm/cacheflush.h>
1515
#include <asm/fixmap.h>
16-
#include <asm/patch.h>
16+
#include <asm/text-patching.h>
1717

1818
struct patch {
1919
void *addr;

arch/powerpc/include/asm/kprobes.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
#include <linux/percpu.h>
2222
#include <linux/module.h>
2323
#include <asm/probes.h>
24-
#include <asm/code-patching.h>
24+
#include <asm/text-patching.h>
2525

2626
#ifdef CONFIG_KPROBES
2727
#define __ARCH_WANT_KPROBES_INSN_SLOT

arch/powerpc/kernel/crash_dump.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#include <linux/io.h>
1414
#include <linux/memblock.h>
1515
#include <linux/of.h>
16-
#include <asm/code-patching.h>
16+
#include <asm/text-patching.h>
1717
#include <asm/kdump.h>
1818
#include <asm/firmware.h>
1919
#include <linux/uio.h>

arch/powerpc/kernel/epapr_paravirt.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#include <linux/of_fdt.h>
1010
#include <asm/epapr_hcalls.h>
1111
#include <asm/cacheflush.h>
12-
#include <asm/code-patching.h>
12+
#include <asm/text-patching.h>
1313
#include <asm/machdep.h>
1414
#include <asm/inst.h>
1515

arch/powerpc/kernel/jump_label.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
#include <linux/kernel.h>
77
#include <linux/jump_label.h>
8-
#include <asm/code-patching.h>
8+
#include <asm/text-patching.h>
99
#include <asm/inst.h>
1010

1111
void arch_jump_label_transform(struct jump_entry *entry,

arch/powerpc/kernel/kgdb.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
#include <asm/processor.h>
2222
#include <asm/machdep.h>
2323
#include <asm/debug.h>
24-
#include <asm/code-patching.h>
24+
#include <asm/text-patching.h>
2525
#include <linux/slab.h>
2626
#include <asm/inst.h>
2727

arch/powerpc/kernel/kprobes.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
#include <linux/slab.h>
2222
#include <linux/set_memory.h>
2323
#include <linux/execmem.h>
24-
#include <asm/code-patching.h>
24+
#include <asm/text-patching.h>
2525
#include <asm/cacheflush.h>
2626
#include <asm/sstep.h>
2727
#include <asm/sections.h>

arch/powerpc/kernel/module_32.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
#include <linux/bug.h>
1919
#include <linux/sort.h>
2020
#include <asm/setup.h>
21-
#include <asm/code-patching.h>
21+
#include <asm/text-patching.h>
2222

2323
/* Count how many different relocations (different symbol, different
2424
addend) */

arch/powerpc/kernel/module_64.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
#include <linux/kernel.h>
1818
#include <asm/module.h>
1919
#include <asm/firmware.h>
20-
#include <asm/code-patching.h>
20+
#include <asm/text-patching.h>
2121
#include <linux/sort.h>
2222
#include <asm/setup.h>
2323
#include <asm/sections.h>

arch/powerpc/kernel/optprobes.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#include <asm/kprobes.h>
1414
#include <asm/ptrace.h>
1515
#include <asm/cacheflush.h>
16-
#include <asm/code-patching.h>
16+
#include <asm/text-patching.h>
1717
#include <asm/sstep.h>
1818
#include <asm/ppc-opcode.h>
1919
#include <asm/inst.h>

arch/powerpc/kernel/process.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
#include <asm/firmware.h>
5555
#include <asm/hw_irq.h>
5656
#endif
57-
#include <asm/code-patching.h>
57+
#include <asm/text-patching.h>
5858
#include <asm/exec.h>
5959
#include <asm/livepatch.h>
6060
#include <asm/cpu_has_feature.h>

arch/powerpc/kernel/security.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
#include <linux/debugfs.h>
1515

1616
#include <asm/asm-prototypes.h>
17-
#include <asm/code-patching.h>
17+
#include <asm/text-patching.h>
1818
#include <asm/security_features.h>
1919
#include <asm/sections.h>
2020
#include <asm/setup.h>

arch/powerpc/kernel/setup_32.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
#include <asm/time.h>
4141
#include <asm/serial.h>
4242
#include <asm/udbg.h>
43-
#include <asm/code-patching.h>
43+
#include <asm/text-patching.h>
4444
#include <asm/cpu_has_feature.h>
4545
#include <asm/asm-prototypes.h>
4646
#include <asm/kdump.h>

arch/powerpc/kernel/setup_64.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
#include <asm/xmon.h>
6161
#include <asm/udbg.h>
6262
#include <asm/kexec.h>
63-
#include <asm/code-patching.h>
63+
#include <asm/text-patching.h>
6464
#include <asm/ftrace.h>
6565
#include <asm/opal.h>
6666
#include <asm/cputhreads.h>

arch/powerpc/kernel/static_call.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#include <linux/memory.h>
33
#include <linux/static_call.h>
44

5-
#include <asm/code-patching.h>
5+
#include <asm/text-patching.h>
66

77
void arch_static_call_transform(void *site, void *tramp, void *func, bool tail)
88
{

0 commit comments

Comments
 (0)