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:

- avoid unnecessary rebuilds for library objects

- fix return value of __setup handlers

- fix invalid input check for "crashkernel=" kernel option

- silence KASAN warnings in unwind_frame

* tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
ARM: 9191/1: arm/stacktrace, kasan: Silence KASAN warnings in unwind_frame()
ARM: 9190/1: kdump: add invalid input check for 'crashkernel=0'
ARM: 9187/1: JIVE: fix return value of __setup handler
ARM: 9189/1: decompressor: fix unneeded rebuilds of library objects

+12 -11
+2 -2
arch/arm/boot/compressed/Makefile
··· 92 92 OBJS += $(libfdt_objs) fdt_check_mem_start.o 93 93 endif 94 94 95 + OBJS += lib1funcs.o ashldi3.o bswapsdi2.o 96 + 95 97 targets := vmlinux vmlinux.lds piggy_data piggy.o \ 96 98 head.o $(OBJS) 97 99 ··· 127 125 endif 128 126 # Next argument is a linker script 129 127 LDFLAGS_vmlinux += -T 130 - 131 - OBJS += lib1funcs.o ashldi3.o bswapsdi2.o 132 128 133 129 # We need to prevent any GOTOFF relocs being used with references 134 130 # to symbols in the .bss section since we cannot relocate them
+2 -1
arch/arm/kernel/setup.c
··· 1004 1004 total_mem = get_total_mem(); 1005 1005 ret = parse_crashkernel(boot_command_line, total_mem, 1006 1006 &crash_size, &crash_base); 1007 - if (ret) 1007 + /* invalid value specified or crashkernel=0 */ 1008 + if (ret || !crash_size) 1008 1009 return; 1009 1010 1010 1011 if (crash_base <= 0) {
+5 -5
arch/arm/kernel/stacktrace.c
··· 54 54 return -EINVAL; 55 55 56 56 frame->sp = frame->fp; 57 - frame->fp = *(unsigned long *)(fp); 58 - frame->pc = *(unsigned long *)(fp + 4); 57 + frame->fp = READ_ONCE_NOCHECK(*(unsigned long *)(fp)); 58 + frame->pc = READ_ONCE_NOCHECK(*(unsigned long *)(fp + 4)); 59 59 #else 60 60 /* check current frame pointer is within bounds */ 61 61 if (fp < low + 12 || fp > high - 4) 62 62 return -EINVAL; 63 63 64 64 /* restore the registers from the stack frame */ 65 - frame->fp = *(unsigned long *)(fp - 12); 66 - frame->sp = *(unsigned long *)(fp - 8); 67 - frame->pc = *(unsigned long *)(fp - 4); 65 + frame->fp = READ_ONCE_NOCHECK(*(unsigned long *)(fp - 12)); 66 + frame->sp = READ_ONCE_NOCHECK(*(unsigned long *)(fp - 8)); 67 + frame->pc = READ_ONCE_NOCHECK(*(unsigned long *)(fp - 4)); 68 68 #endif 69 69 #ifdef CONFIG_KRETPROBES 70 70 if (is_kretprobe_trampoline(frame->pc))
+3 -3
arch/arm/mach-s3c/mach-jive.c
··· 236 236 unsigned long set; 237 237 238 238 if (options == NULL || options[0] == '\0') 239 - return 0; 239 + return 1; 240 240 241 241 if (kstrtoul(options, 10, &set)) { 242 242 printk(KERN_ERR "failed to parse mtdset=%s\n", options); 243 - return 0; 243 + return 1; 244 244 } 245 245 246 246 switch (set) { ··· 256 256 "using default.", set); 257 257 } 258 258 259 - return 0; 259 + return 1; 260 260 } 261 261 262 262 /* parse the mtdset= option given to the kernel command line */