arm: bugfix: save_boot_params_default accesses uninitalized stack when -O0
save_boot_params_default() in cpu.c accesses uninitialized stack area when it compiled with -O0 (not optimized). This patch removes save_boot_params_default() and put the equivalent in start.S Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp> Acked-by: Tom Rini <trini@ti.com>
This commit is contained in:
		
							parent
							
								
									cca60769fc
								
							
						
					
					
						commit
						6f0dba85a9
					
				|  | @ -38,13 +38,6 @@ | |||
| #include <asm/armv7.h> | ||||
| #include <linux/compiler.h> | ||||
| 
 | ||||
| void save_boot_params_default(u32 r0, u32 r1, u32 r2, u32 r3) | ||||
| { | ||||
| } | ||||
| 
 | ||||
| void save_boot_params(u32 r0, u32 r1, u32 r2, u32 r3) | ||||
| 	__attribute__((weak, alias("save_boot_params_default"))); | ||||
| 
 | ||||
| void __weak cpu_cache_initialization(void){} | ||||
| 
 | ||||
| int cleanup_before_linux(void) | ||||
|  |  | |||
|  | @ -303,6 +303,20 @@ _board_init_r_ofs: | |||
| 	.word board_init_r - _start | ||||
| ENDPROC(relocate_code) | ||||
| 
 | ||||
| /************************************************************************* | ||||
|  * | ||||
|  * void save_boot_params(u32 r0, u32 r1, u32 r2, u32 r3) | ||||
|  *	__attribute__((weak));
 | ||||
|  * | ||||
|  * Stack pointer is not yet initialized at this moment | ||||
|  * Don't save anything to stack even if compiled with -O0 | ||||
|  * | ||||
|  *************************************************************************/ | ||||
| ENTRY(save_boot_params) | ||||
| 	bx	lr			@ back to my caller
 | ||||
| ENDPROC(save_boot_params) | ||||
| 	.weak	save_boot_params
 | ||||
| 
 | ||||
| /************************************************************************* | ||||
|  * | ||||
|  * cpu_init_cp15 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue