[RFC PATCH 2/9] arm64: cache: use ALIAS version of linkage macros for local aliases

Ard Biesheuvel ardb at kernel.org
Wed Oct 13 08:22:36 PDT 2021


Upcoming changes to the linkage macros will no longer tolerate duplicate
start and end symbols for functions unless they are annotated as
aliases. This is needed to avoid emitting mismatched .cfi start/end
directives.

So update a couple of occurrences in cache.S where a local alias is
incorrectly declared as a proper local symbol.

Signed-off-by: Ard Biesheuvel <ardb at kernel.org>
---
 arch/arm64/mm/cache.S | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/mm/cache.S b/arch/arm64/mm/cache.S
index 5051b3c1a4f1..681a89921992 100644
--- a/arch/arm64/mm/cache.S
+++ b/arch/arm64/mm/cache.S
@@ -140,7 +140,7 @@ SYM_FUNC_END(dcache_clean_pou)
  *	- start   - kernel start address of region
  *	- end     - kernel end address of region
  */
-SYM_FUNC_START_LOCAL(__dma_inv_area)
+SYM_FUNC_START_LOCAL_ALIAS(__dma_inv_area)
 SYM_FUNC_START_PI(dcache_inval_poc)
 	/* FALLTHROUGH */
 
@@ -167,7 +167,7 @@ SYM_FUNC_START_PI(dcache_inval_poc)
 	dsb	sy
 	ret
 SYM_FUNC_END_PI(dcache_inval_poc)
-SYM_FUNC_END(__dma_inv_area)
+SYM_FUNC_END_ALIAS(__dma_inv_area)
 
 /*
  *	dcache_clean_poc(start, end)
@@ -178,7 +178,7 @@ SYM_FUNC_END(__dma_inv_area)
  *	- start   - virtual start address of region
  *	- end     - virtual end address of region
  */
-SYM_FUNC_START_LOCAL(__dma_clean_area)
+SYM_FUNC_START_LOCAL_ALIAS(__dma_clean_area)
 SYM_FUNC_START_PI(dcache_clean_poc)
 	/* FALLTHROUGH */
 
@@ -190,7 +190,7 @@ SYM_FUNC_START_PI(dcache_clean_poc)
 	dcache_by_line_op cvac, sy, x0, x1, x2, x3
 	ret
 SYM_FUNC_END_PI(dcache_clean_poc)
-SYM_FUNC_END(__dma_clean_area)
+SYM_FUNC_END_ALIAS(__dma_clean_area)
 
 /*
  *	dcache_clean_pop(start, end)
-- 
2.30.2




More information about the linux-arm-kernel mailing list