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 |
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.
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 >
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 --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
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(-)