
hulk inclusion category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I8MTBB CVE: NA -------------------------------- The unwind directives can't handle nested function entries, so only the outermost function __loop_udelay is annotated, and the inner nested entries share the same unwind info with __loop_udelay. Signed-off-by: Xu Kuohai <xukuohai@huawei.com> Reviewed-by: Yang Jihong <yangjihong1@huawei.com> Signed-off-by: Zheng Zengkai <zhengzengkai@huawei.com> --- arch/arm/lib/delay-loop.S | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/arch/arm/lib/delay-loop.S b/arch/arm/lib/delay-loop.S index 3ac05177d097..3ba37ce6dbb0 100644 --- a/arch/arm/lib/delay-loop.S +++ b/arch/arm/lib/delay-loop.S @@ -7,6 +7,7 @@ #include <linux/linkage.h> #include <asm/assembler.h> #include <asm/delay.h> +#include <asm/unwind.h> #ifdef CONFIG_ARCH_RPC .arch armv4 @@ -25,6 +26,7 @@ */ ENTRY(__loop_udelay) +UNWIND(.fnstart) ldr r2, .LC1 mul r0, r2, r0 @ r0 = delay_us * UDELAY_MULT ENTRY(__loop_const_udelay) @ 0 <= r0 <= 0xfffffaf0 @@ -58,6 +60,7 @@ ENTRY(__loop_delay) #endif bhi __loop_delay ret lr -ENDPROC(__loop_udelay) -ENDPROC(__loop_const_udelay) ENDPROC(__loop_delay) +ENDPROC(__loop_const_udelay) +UNWIND(.fnend) +ENDPROC(__loop_udelay) -- 2.30.2