File tree Expand file tree Collapse file tree 4 files changed +12
-11
lines changed Expand file tree Collapse file tree 4 files changed +12
-11
lines changed Original file line number Diff line number Diff line change @@ -92,6 +92,8 @@ ifeq ($(CONFIG_USE_OF),y)
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
@@ -126,8 +128,6 @@ endif
126
128
# Next argument is a linker script
127
129
LDFLAGS_vmlinux += -T
128
130
129
- OBJS += lib1funcs.o ashldi3.o bswapsdi2.o
130
-
131
131
# We need to prevent any GOTOFF relocs being used with references
132
132
# to symbols in the .bss section since we cannot relocate them
133
133
# independently from the rest at run time. This can be achieved by
Original file line number Diff line number Diff line change @@ -1004,7 +1004,8 @@ static void __init reserve_crashkernel(void)
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 ) {
Original file line number Diff line number Diff line change @@ -54,17 +54,17 @@ int notrace unwind_frame(struct stackframe *frame)
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 ))
Original file line number Diff line number Diff line change @@ -236,11 +236,11 @@ static int __init jive_mtdset(char *options)
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,7 +256,7 @@ static int __init jive_mtdset(char *options)
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 */
You can’t perform that action at this time.
0 commit comments