[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200706151041.GL633187@vkoul-mobl>
Date: Mon, 6 Jul 2020 20:40:41 +0530
From: Vinod Koul <vkoul@...nel.org>
To: Dave Jiang <dave.jiang@...el.com>
Cc: Arnd Bergmann <arnd@...db.de>,
Naresh Kamboju <naresh.kamboju@...aro.org>,
linux-serial@...r.kernel.org,
open list <linux-kernel@...r.kernel.org>,
Jiri Slaby <jslaby@...e.com>,
linux-arm-msm <linux-arm-msm@...r.kernel.org>,
linux-tegra <linux-tegra@...r.kernel.org>, jirislaby@...nel.org,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Andy Gross <agross@...nel.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
ldewangan@...dia.com, Thierry Reding <thierry.reding@...il.com>,
Jon Hunter <jonathanh@...dia.com>, Qian Cai <cai@....pw>,
lkft-triage@...ts.linaro.org
Subject: Re: [qemu] boot failed: Unable to handle kernel NULL pointer
dereference at virtual address 0000000000000000
On 06-07-20, 07:33, Dave Jiang wrote:
> > I don't see anything suspicious in dmaengine drivers, but there is a
> > recent series
> > from Dave Jiang that might explain it. Could you try reverting commit
> > deb9541f5052 ("dmaengine: check device and channel list for empty")?
> >
> > I think the broken change is this one:
> >
> > @@ -819,6 +850,11 @@ struct dma_chan *dma_request_chan(struct device
> > *dev, const char *name)
> >
> > /* Try to find the channel via the DMA filter map(s) */
> > mutex_lock(&dma_list_mutex);
> > + if (list_empty(&dma_device_list)) {
> > + mutex_unlock(&dma_list_mutex);
> > + return NULL;
> > + }
> > +
> > list_for_each_entry_safe(d, _d, &dma_device_list, global_node) {
> > dma_cap_mask_t mask;
> > const struct dma_slave_map *map = dma_filter_match(d,
> > name, dev);
> >
> > which needs to return an error code like -ENODEV instead of NULL. There
> > may be other changes in the same patch that introduce the same bug
> > elsewhere.
> >
> > Arnd
> >
>
> Vinod,
> Do you want a diff fix or a revision of the patch for the fix?
Diff fix please
--
~Vinod
Powered by blists - more mailing lists