Re: [PATCH v2 20/20] ppc: propagate the calling conventions change down to csum_partial_copy_generic()

From: Jason A. Donenfeld
Date: Wed Oct 14 2020 - 18:54:28 EST


On Thu, Oct 15, 2020 at 12:53 AM Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> On Wed, Oct 14, 2020 at 3:51 PM Linus Torvalds
> <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > I think it's this instruction:
> >
> > addi r1,r1,16
> >
> > that should be removed from the function exit, because Al removed the
> >
> > - stwu r1,-16(r1)
> >
> > on function entry.
> >
> > So I think you end up with a corrupt stack pointer and basically
> > random behavior.
> >
> > Mind trying that? (This is obviously all in
> > arch/powerpc/lib/checksum_32.S, the csum_partial_copy_generic()
> > function).
>
> Patch attached to make it easier to test.
>
> NOTE! This is ENTIRELY untested. My ppc asm is so rusty that I might
> be barking entirely up the wrong tree, and I just made things much
> worse.

Indeed - exactly the same thing that's in my tree. Writing a commit
message for it now.

Jason