
27 Jun
2012
27 Jun
'12
7:40 p.m.
On Mon, Jun 25, 2012 at 09:42:29PM +0900, Tetsuyuki Kobayashi wrote:
save_boot_params_default() in cpu.c accesses uninitialized stack area when it compiled with -O0 (not optimized).
Signed-off-by: Tetsuyuki Kobayashi koba@kmckk.co.jp
arch/arm/cpu/armv7/cpu.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/arch/arm/cpu/armv7/cpu.c b/arch/arm/cpu/armv7/cpu.c index c6fa8ef..6104cb2 100644 --- a/arch/arm/cpu/armv7/cpu.c +++ b/arch/arm/cpu/armv7/cpu.c @@ -37,8 +37,11 @@ #include <asm/cache.h> #include <asm/armv7.h>
+__attribute__((naked)) /* don't save anything to stack even if compiled with -O0 */ void save_boot_params_default(u32 r0, u32 r1, u32 r2, u32 r3) {
- /* stack is not yet initialized */
- asm("bx lr");
}
Please add <linux/compiler.h> and use __naked instead. Thanks!
--
Tom