| From 73d6890fe8ff40e357039b626537ac82d8782aeb Mon Sep 17 00:00:00 2001 |
| From: Mark Brown <broonie@kernel.org> |
| Date: Fri, 10 Jan 2020 15:50:04 +0000 |
| Subject: arm64: kernel: Correct annotation of end of el0_sync |
| |
| From: Mark Brown <broonie@kernel.org> |
| |
| commit 73d6890fe8ff40e357039b626537ac82d8782aeb upstream. |
| |
| Commit 582f95835a8fc812c ("arm64: entry: convert el0_sync to C") caused |
| the ENDPROC() annotating the end of el0_sync to be placed after the code |
| for el0_sync_compat. This replaced the previous annotation where it was |
| located after all the cases that are now converted to C, including after |
| the currently unannotated el0_irq_compat and el0_error_compat. Move the |
| annotation to the end of the function and add separate annotations for |
| the _compat ones. |
| |
| Fixes: 582f95835a8fc812c (arm64: entry: convert el0_sync to C) |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Will Deacon <will@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| arch/arm64/kernel/entry.S | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| --- a/arch/arm64/kernel/entry.S |
| +++ b/arch/arm64/kernel/entry.S |
| @@ -653,6 +653,7 @@ el0_sync: |
| mov x0, sp |
| bl el0_sync_handler |
| b ret_to_user |
| +ENDPROC(el0_sync) |
| |
| #ifdef CONFIG_COMPAT |
| .align 6 |
| @@ -661,16 +662,18 @@ el0_sync_compat: |
| mov x0, sp |
| bl el0_sync_compat_handler |
| b ret_to_user |
| -ENDPROC(el0_sync) |
| +ENDPROC(el0_sync_compat) |
| |
| .align 6 |
| el0_irq_compat: |
| kernel_entry 0, 32 |
| b el0_irq_naked |
| +ENDPROC(el0_irq_compat) |
| |
| el0_error_compat: |
| kernel_entry 0, 32 |
| b el0_error_naked |
| +ENDPROC(el0_error_compat) |
| #endif |
| |
| .align 6 |