arm: bugfix: save_boot_params_default accesses uninitalized stack when -O0
PATCH v2 1/1 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).
Signed-off-by Tetsuyuki Kobayashi <[email protected]>
---
Changes for v2:
- include <linux/compiler.h> and use __naked instead of __attribute__((naked))
arch/arm/cpu/armv7/cpu.c | 4 ++++ 1 file changed, 4 insertions(+)
arch/arm/cpu/armv7/cpu.c +4 -0
@@ -36,9 +36,13 @@#include <asm/system.h> #include <asm/cache.h> #include <asm/armv7.h> +#include <linux/compiler.h> +__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" ); }void save_boot_params (u32 r0,u32 r1,u32 r2,u32 r3)
Signature · 1 line
1.7.9.5
PATCH v2 1/1 arm: bugfix: save_boot_params_default accesses uninitalized stack when -O0
I'm sorry. This post is missing In-Reply-To. I sent again. Discard this.
Quoted 30 lines · Tetsuyuki Kobayashi
save_boot_params_default()incpu.caccesses uninitialized stack area when it compiled with -O0 (not optimized).Signed-off-by Tetsuyuki Kobayashi<[email protected]>---
Changes for v2:
- include<linux/compiler.h> and use__nakedinstead of __attribute__((naked))arch/arm/cpu/armv7/cpu.c | 4 ++++ 1 file changed, 4 insertions(+)arch/arm/cpu/armv7/cpu.c +4
-0@@ -36,9 +36,13 @@#include <asm/system.h> #include <asm/cache.h> #include <asm/armv7.h> +#include <linux/compiler.h> +__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" ); }void save_boot_params (u32 r0,u32 r1,u32 r2,u32 r3)