lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAJKOXPfg+T-1acZd-NmSF6uerK0inCPirEyhGJ213VNtM5u1YQ@mail.gmail.com>
Date:   Thu, 14 Mar 2019 09:17:53 +0100
From:   Krzysztof Kozlowski <krzk@...nel.org>
To:     Kangjie Lu <kjlu@....edu>
Cc:     pakki001@....edu, Kukjin Kim <kgene@...nel.org>,
        Andi Shyti <andi@...zian.org>, Mark Brown <broonie@...nel.org>,
        linux-arm-kernel@...ts.infradead.org,
        "linux-samsung-soc@...r.kernel.org" 
        <linux-samsung-soc@...r.kernel.org>, linux-spi@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] spi: fix NULL pointer dereferences by checking dmaengine_prep_slave_sg

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

Hi,

Thanks for the patch, but the fix is the same as here:
https://www.mail-archive.com/linux-kernel@vger.kernel.org/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
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ