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>
master
Tetsuyuki Kobayashi 13 years ago committed by Albert ARIBAUD
parent cca60769fc
commit 6f0dba85a9
  1. 7
      arch/arm/cpu/armv7/cpu.c
  2. 14
      arch/arm/cpu/armv7/start.S

@ -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)

@ -305,6 +305,20 @@ 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
*
* Setup CP15 registers (cache, MMU, TLBs). The I-cache is turned on unless

Loading…
Cancel
Save