Re: [qemu] boot failed: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000

From: Arnd Bergmann
Date: Mon Jul 06 2020 - 11:24:43 EST


On Mon, Jul 6, 2020 at 5:01 PM Dave Jiang <dave.jiang@xxxxxxxxx> wrote:
> On 7/6/2020 5:53 AM, Arnd Bergmann wrote:
> > On Mon, Jul 6, 2020 at 1:03 PM Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> wrote:
>
> Arnd,
> I'm looking at the pl001_dma_probe(), I think we could make it more robust if it
> uses IS_ERR_OR_NULL(chan) instead of IS_ERR(). Should I send a patch for it? I
> suppose looking at the comment header for dma_request_chan() it does say return
> chan ptr or error ptr. Sorry I missed that.

No. IS_ERR_OR_NULL() is almost always a mistake. A function should either
return NULL on error, or it should return an error code, but should not be
able to return either.

Have you checked all the other 'return NULL' statements in your patch to
ensure that they never return error pointers?

Arnd