Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'loongarch-fixes-6.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson

Pull LoongArch fixes from Huacai Chen:
"Fix some build errors and some trivial runtime bugs"

* tag 'loongarch-fixes-6.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson:
LoongArch: Lately init pmu after smp is online
LoongArch: Fix callchain parse error with kernel tracepoint events
LoongArch: Fix access error when read fault on a write-only VMA
LoongArch: Fix a build error due to __tlb_remove_tlb_entry()
LoongArch: Fix Kconfig item and left code related to CRASH_CORE

+14 -8
+1 -1
arch/loongarch/Kconfig
··· 595 595 select RELOCATABLE 596 596 597 597 config ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATION 598 - def_bool CRASH_CORE 598 + def_bool CRASH_RESERVE 599 599 600 600 config RELOCATABLE 601 601 bool "Relocatable kernel"
+2 -2
arch/loongarch/include/asm/crash_core.h arch/loongarch/include/asm/crash_reserve.h
··· 1 1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 - #ifndef _LOONGARCH_CRASH_CORE_H 3 - #define _LOONGARCH_CRASH_CORE_H 2 + #ifndef _LOONGARCH_CRASH_RESERVE_H 3 + #define _LOONGARCH_CRASH_RESERVE_H 4 4 5 5 #define CRASH_ALIGN SZ_2M 6 6
+8
arch/loongarch/include/asm/perf_event.h
··· 7 7 #ifndef __LOONGARCH_PERF_EVENT_H__ 8 8 #define __LOONGARCH_PERF_EVENT_H__ 9 9 10 + #include <asm/ptrace.h> 11 + 10 12 #define perf_arch_bpf_user_pt_regs(regs) (struct user_pt_regs *)regs 13 + 14 + #define perf_arch_fetch_caller_regs(regs, __ip) { \ 15 + (regs)->csr_era = (__ip); \ 16 + (regs)->regs[3] = current_stack_pointer; \ 17 + (regs)->regs[22] = (unsigned long) __builtin_frame_address(0); \ 18 + } 11 19 12 20 #endif /* __LOONGARCH_PERF_EVENT_H__ */
-2
arch/loongarch/include/asm/tlb.h
··· 132 132 ); 133 133 } 134 134 135 - #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) 136 - 137 135 static void tlb_flush(struct mmu_gather *tlb); 138 136 139 137 #define tlb_flush tlb_flush
+1 -1
arch/loongarch/kernel/perf_event.c
··· 884 884 885 885 return 0; 886 886 } 887 - early_initcall(init_hw_perf_events); 887 + pure_initcall(init_hw_perf_events);
+2 -2
arch/loongarch/mm/fault.c
··· 202 202 if (!(vma->vm_flags & VM_WRITE)) 203 203 goto bad_area; 204 204 } else { 205 - if (!(vma->vm_flags & VM_READ) && address != exception_era(regs)) 206 - goto bad_area; 207 205 if (!(vma->vm_flags & VM_EXEC) && address == exception_era(regs)) 206 + goto bad_area; 207 + if (!(vma->vm_flags & (VM_READ | VM_WRITE)) && address != exception_era(regs)) 208 208 goto bad_area; 209 209 } 210 210