[PATCH] ARM: kexec: Fix panic after TLB are invalidated
Russell King - ARM Linux admin
linux at armlinux.org.uk
Fri Feb 5 04:44:59 EST 2021
On Fri, Feb 05, 2021 at 12:40:54AM +0000, Giancarlo Ferrari wrote:
> On Fri, Feb 05, 2021 at 12:18:33AM +0000, Russell King - ARM Linux admin wrote:
> > On Thu, Feb 04, 2021 at 11:48:42PM +0000, Giancarlo Ferrari wrote:
> > > Can I ask about having it integrated ?
> > Thanks for testing. Are you willing for me to add:
> > Tested-by: Giancarlo Ferrari <giancarlo.ferrari89 at gmail.com>
> > to the commit log?
> I have a question regarding the patch. I saw that the structure start at
> the end of the relocation code:
> data = reboot_code_buffer + relocate_new_kernel_size;
> which means it overlap with the global symbol relocate_new_kernel_size.
> I think is minor comment as the variable is only used in the fncpy()
> then thrown away.
The same is true of the rest of the kernel image if that's how you'd
like to look at it.
relocate_new_kernel_size is just there to tell the C code the size of
the function, nothing more nothing less. It isn't there to be copied.
The copied code doesn't use it.
> Something like:
> data = reboot_code_buffer + relocate_new_kernel_size + sizeof(long);
No. That will place the structure after the size variable, which we
don't want, and...
> and accordingly in the instruction (arch/arm/kernel/relocate_kernel.S):
> adr r7, relocate_new_kernel_end
... we will then need to follow this with:
add r7, r7, #4
or replace it with:
adr r7, relocate_new_kernel_end + 4
so that r7 points at "data".
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
More information about the linux-arm-kernel