diff mbox series

arm64: kernel: Correct annotation of end of el0_sync

Message ID 20200110155004.3577-1-broonie@kernel.org (mailing list archive)
State Mainlined
Commit 73d6890fe8ff40e357039b626537ac82d8782aeb
Headers show
Series arm64: kernel: Correct annotation of end of el0_sync | expand

Commit Message

Mark Brown Jan. 10, 2020, 3:50 p.m. UTC
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>
---
 arch/arm64/kernel/entry.S | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Mark Brown Jan. 10, 2020, 3:53 p.m. UTC | #1
On Fri, Jan 10, 2020 at 03:50:04PM +0000, Mark Brown wrote:
> 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.

Sorry, just realized that a variant of this is in the series that Mark
posted earlier this week - please ignore this.
Mark Rutland Jan. 10, 2020, 3:54 p.m. UTC | #2
On Fri, Jan 10, 2020 at 03:50:04PM +0000, Mark Brown wrote:
> 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>

Looks sane to me; I can rebase my entry rework atop.

Acked-by: Mark Rutland <mark.rutland@arm.com>

Mark.

> ---
>  arch/arm64/kernel/entry.S | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S
> index 7c6a0a41676f..d54d165b286a 100644
> --- 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
> -- 
> 2.20.1
>
Mark Rutland Jan. 10, 2020, 3:55 p.m. UTC | #3
On Fri, Jan 10, 2020 at 03:53:26PM +0000, Mark Brown wrote:
> On Fri, Jan 10, 2020 at 03:50:04PM +0000, Mark Brown wrote:
> > 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.
> 
> Sorry, just realized that a variant of this is in the series that Mark
> posted earlier this week - please ignore this.

I'm happy to rebase my entry rework atop of this patch if it gets queued
now, so I'll leave it to Catalin and Will to choose.

Thanks,
Mark.
diff mbox series

Patch

diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S
index 7c6a0a41676f..d54d165b286a 100644
--- 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