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 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm

Pull ARM fixes from Russell King:

- Fix clang-related relocation warning in futex code

- Fix incorrect use of get_kernel_nofault()

- Fix bad code generation in __get_user_check() when kasan is enabled

- Ensure TLB function table is correctly aligned

- Remove duplicated string function definitions in decompressor

- Fix link-time orphan section warnings

- Fix old-style function prototype for arch_init_kprobes()

- Only warn about XIP address when not compile testing

- Handle BE32 big endian for keystone2 remapping

* tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
ARM: 9148/1: handle CONFIG_CPU_ENDIAN_BE32 in arch/arm/kernel/head.S
ARM: 9141/1: only warn about XIP address when not compile testing
ARM: 9139/1: kprobes: fix arch_init_kprobes() prototype
ARM: 9138/1: fix link warning with XIP + frame-pointer
ARM: 9134/1: remove duplicate memcpy() definition
ARM: 9133/1: mm: proc-macros: ensure *_tlb_fns are 4B aligned
ARM: 9132/1: Fix __get_user_check failure with ARM KASAN images
ARM: 9125/1: fix incorrect use of get_kernel_nofault()
ARM: 9122/1: select HAVE_FUTEX_CMPXCHG

+17 -6
+1
arch/arm/Kconfig
··· 92 92 select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL 93 93 select HAVE_FUNCTION_GRAPH_TRACER if !THUMB2_KERNEL && !CC_IS_CLANG 94 94 select HAVE_FUNCTION_TRACER if !XIP_KERNEL 95 + select HAVE_FUTEX_CMPXCHG if FUTEX 95 96 select HAVE_GCC_PLUGINS 96 97 select HAVE_HW_BREAKPOINT if PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7) 97 98 select HAVE_IRQ_TIME_ACCOUNTING
+3
arch/arm/boot/compressed/decompress.c
··· 47 47 #endif 48 48 49 49 #ifdef CONFIG_KERNEL_XZ 50 + /* Prevent KASAN override of string helpers in decompressor */ 51 + #undef memmove 50 52 #define memmove memmove 53 + #undef memcpy 51 54 #define memcpy memcpy 52 55 #include "../../../../lib/decompress_unxz.c" 53 56 #endif
+3 -1
arch/arm/include/asm/uaccess.h
··· 176 176 register unsigned long __l asm("r1") = __limit; \ 177 177 register int __e asm("r0"); \ 178 178 unsigned int __ua_flags = uaccess_save_and_enable(); \ 179 + int __tmp_e; \ 179 180 switch (sizeof(*(__p))) { \ 180 181 case 1: \ 181 182 if (sizeof((x)) >= 8) \ ··· 204 203 break; \ 205 204 default: __e = __get_user_bad(); break; \ 206 205 } \ 206 + __tmp_e = __e; \ 207 207 uaccess_restore(__ua_flags); \ 208 208 x = (typeof(*(p))) __r2; \ 209 - __e; \ 209 + __tmp_e; \ 210 210 }) 211 211 212 212 #define get_user(x, p) \
+2 -2
arch/arm/kernel/head.S
··· 253 253 add r0, r4, #KERNEL_OFFSET >> (SECTION_SHIFT - PMD_ORDER) 254 254 ldr r6, =(_end - 1) 255 255 adr_l r5, kernel_sec_start @ _pa(kernel_sec_start) 256 - #ifdef CONFIG_CPU_ENDIAN_BE8 256 + #if defined CONFIG_CPU_ENDIAN_BE8 || defined CONFIG_CPU_ENDIAN_BE32 257 257 str r8, [r5, #4] @ Save physical start of kernel (BE) 258 258 #else 259 259 str r8, [r5] @ Save physical start of kernel (LE) ··· 266 266 bls 1b 267 267 eor r3, r3, r7 @ Remove the MMU flags 268 268 adr_l r5, kernel_sec_end @ _pa(kernel_sec_end) 269 - #ifdef CONFIG_CPU_ENDIAN_BE8 269 + #if defined CONFIG_CPU_ENDIAN_BE8 || defined CONFIG_CPU_ENDIAN_BE32 270 270 str r3, [r5, #4] @ Save physical end of kernel (BE) 271 271 #else 272 272 str r3, [r5] @ Save physical end of kernel (LE)
+1 -1
arch/arm/kernel/traps.c
··· 136 136 for (p = first, i = 0; i < 8 && p < top; i++, p += 4) { 137 137 if (p >= bottom && p < top) { 138 138 unsigned long val; 139 - if (get_kernel_nofault(val, (unsigned long *)p)) 139 + if (!get_kernel_nofault(val, (unsigned long *)p)) 140 140 sprintf(str + i * 9, " %08lx", val); 141 141 else 142 142 sprintf(str + i * 9, " ????????");
+5 -1
arch/arm/kernel/vmlinux-xip.lds.S
··· 40 40 ARM_DISCARD 41 41 *(.alt.smp.init) 42 42 *(.pv_table) 43 + #ifndef CONFIG_ARM_UNWIND 44 + *(.ARM.exidx) *(.ARM.exidx.*) 45 + *(.ARM.extab) *(.ARM.extab.*) 46 + #endif 43 47 } 44 48 45 49 . = XIP_VIRT_ADDR(CONFIG_XIP_PHYS_ADDR); ··· 176 172 ASSERT((_end - __bss_start) >= 12288, ".bss too small for CONFIG_XIP_DEFLATED_DATA") 177 173 #endif 178 174 179 - #ifdef CONFIG_ARM_MPU 175 + #if defined(CONFIG_ARM_MPU) && !defined(CONFIG_COMPILE_TEST) 180 176 /* 181 177 * Due to PMSAv7 restriction on base address and size we have to 182 178 * enforce minimal alignment restrictions. It was seen that weaker
+1
arch/arm/mm/proc-macros.S
··· 340 340 341 341 .macro define_tlb_functions name:req, flags_up:req, flags_smp 342 342 .type \name\()_tlb_fns, #object 343 + .align 2 343 344 ENTRY(\name\()_tlb_fns) 344 345 .long \name\()_flush_user_tlb_range 345 346 .long \name\()_flush_kern_tlb_range
+1 -1
arch/arm/probes/kprobes/core.c
··· 439 439 440 440 #endif /* !CONFIG_THUMB2_KERNEL */ 441 441 442 - int __init arch_init_kprobes() 442 + int __init arch_init_kprobes(void) 443 443 { 444 444 arm_probes_decode_init(); 445 445 #ifdef CONFIG_THUMB2_KERNEL