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

From: Dave Jiang
Date: Mon Jul 06 2020 - 11:27:01 EST




On 7/6/2020 8:24 AM, Arnd Bergmann wrote:
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.

Fair enough.


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

Yeah I looked over the rest of them. The ones that are returning NULL as far as I can tell are expected to return NULL.


Arnd