Re: [PATCH] crypto: ixp4xx - Fix error handling path in 'aead_perform()'

From: Arnd Bergmann
Date: Thu Jul 20 2017 - 11:04:37 EST


On Thu, Jul 20, 2017 at 9:37 AM, Arnd Bergmann <arnd@xxxxxxxx> wrote:
> On Wed, Jul 19, 2017 at 11:47 PM, Christophe JAILLET
> <christophe.jaillet@xxxxxxxxxx> wrote:
>> In commit 0f987e25cb8a, the source processing has been moved in front of
>> the destination processing, but the error handling path has not been
>> modified accordingly.
>> Free resources in the correct order to avoid some leaks.
>>
>> Fixes: 0f987e25cb8a ("crypto: ixp4xx - Fix false lastlen uninitialised warning")
>> Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
>
> Thanks for spotting my mistake!
>
> I've looked at it again and think it's unfortunately still wrong with
> your patch,
> as there is a 'goto free_buf_src' after dma_pool_alloc(), and that now needs
> to jump to free_buf_dst instead. We may also need an extra check to make
> sure we don't free an uninitialized pointer again.
>
> Can you have a look at this version below and send whatever you find
> to be correct in the end?
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

Coincidentally, I just came across an older patch of mine that actually
fixes the warning properly, but that for some reason ended up not
getting merged:

https://patchwork.kernel.org/patch/8236811/

How about we just revert my broken 0f987e25cb8a patch, and I apply
the mach-ixp4xx patch instead?

Arnd