Подробности
[В начало]
Проблема в реализации № L0293
Краткое описание
dmaengine: rcar-dmac: разыменование нулевого указателя из-за преждевременной регистрации обработчика прерываний
Подробное описание
В следующем сценарии:
Thread 1: Thread 2:
rcar_dmac_probe
->rcar_dmac_chan_probe
(&dmac->channels[i])
rchan = &dmac->channels[i]
chan = &rchan->chan
devm_request_threaded_irq(rchan)
chan->device = &dmac->engine rcar_dmac_isr_channel
->rcar_dmac_isr_transfer_end(chan)
->rcar_dmac_chan_start_xfer(chan)
engine->dev = &pdev->dev; chan.device->dev>
(rcar-dmac.c: line 1828) (rcar-dmac.c: line 351)
engine->dev равен NULL до своей инициализации в probe. В результате в rcar_dmac_chan_start_xfer() может случиться разыменование нулевого указателя при обращении к chan->chan.device->dev, равного (&dmac->engine)->dev.
Компонент
linux-kernel 4.13
Принято
https://patchwork.kernel.org/patch/9911633/
commit
Статус
Исправлено в ядре 4.14-rc1
[В начало]
»