Re: [PATCH] spi: fix NULL pointer dereferences by checking dmaengine_prep_slave_sg

From: Krzysztof Kozlowski
Date: Thu Mar 14 2019 - 04:18:08 EST


On Thu, 14 Mar 2019 at 07:42, Kangjie Lu <kjlu@xxxxxxx> wrote:
>
> In case dmaengine_prep_slave_sg fails, the fix returns to avoid
> NULL pointer dereference.
>
> Signed-off-by: Kangjie Lu <kjlu@xxxxxxx>

Hi,

Thanks for the patch, but the fix is the same as here:
https://www.mail-archive.com/linux-kernel@xxxxxxxxxxxxxxx/msg1402451.html
and the answer is the same as there - I think you did not handle the
error at all. Did you test the error path in this case? How does it
behave? I think there is no point to replace one NULL pointer to
another NULL pointer right after it. :)

Best regards,
Krzysztof

> ---
> drivers/spi/spi-s3c64xx.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c
> index 7b7151ec14c8..3a5f161ce558 100644
> --- a/drivers/spi/spi-s3c64xx.c
> +++ b/drivers/spi/spi-s3c64xx.c
> @@ -293,6 +293,8 @@ static void prepare_dma(struct s3c64xx_spi_dma_data *dma,
>
> desc = dmaengine_prep_slave_sg(dma->ch, sgt->sgl, sgt->nents,
> dma->direction, DMA_PREP_INTERRUPT);
> + if (!desc)
> + return;
>
> desc->callback = s3c64xx_spi_dmacb;
> desc->callback_param = dma;
> --
> 2.17.1
>