Re: [PATCH] ARM: kexec: Fix panic after TLB are invalidated
From: Giancarlo Ferrari
Date: Fri Feb 05 2021 - 17:55:25 EST
On Fri, Feb 05, 2021 at 09:44:59AM +0000, Russell King - ARM Linux admin wrote:
> On Fri, Feb 05, 2021 at 12:40:54AM +0000, Giancarlo Ferrari wrote:
> > Russell,
> >
> > 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@xxxxxxxxx>
> > >
> > > to the commit log?
> > >
> >
> > Sure.
> >
> > 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.
>
Yes, clear.
> > 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".
>
It was what I meant with "accordingly".
> --
> RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
> FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
Regards,
GF