Commit d50984f0 authored by Xu Kuohai's avatar Xu Kuohai
Browse files

ARM: Add unwinding annotations to __loop.*delay functions

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: default avatarXu Kuohai <xukuohai@huawei.com>
Reviewed-by: default avatarYang Jihong <yangjihong1@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parent cb2566ed
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -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)