# \[PATCH\] dmaengine: fix null ptr check for \_\_dma\_async\_device\_channel\_register()

- Subsystems: DMA GENERIC OFFLOAD ENGINE SUBSYSTEM, THE REST
- Maintainers: Vinod Koul, Linus Torvalds
- Status: LANDED (5429b51f606c · 2020-02-03 04:17)
- Landed in mainline as 5429b51f606c on 2020-02-03.
- List: dmaengine
- 2 messages, 2 authors
- Page: https://ratatoskr.run/dmaengine/2020/01/11791107/t

## \[PATCH\] dmaengine: fix null ptr check for \_\_dma\_async\_device\_channel\_register()

- From: Dave Jiang \<dave.jiang@intel.com\>
- Date: 2020-01-31 17:58:41 
- Message: https://ratatoskr.run/dmaengine/2020/01/11791107.md

```text
Add check to pointer after assignment before accessing members.

Fixes: d2fb0a043838: ("dmaengine: break out channel registration")

Reported-by: Dan Carpenter <redacted>
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
---
 drivers/dma/dmaengine.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c
index f3ef4edd4de1..3a62c7839861 100644
--- a/drivers/dma/dmaengine.c
+++ b/drivers/dma/dmaengine.c
@@ -962,6 +962,9 @@ static int __dma_async_device_channel_register(struct dma_device *device,
 
 	tchan = list_first_entry_or_null(&device->channels,
 					 struct dma_chan, device_node);
+	if (!tchan)
+		return -ENODEV;
+
 	if (tchan->dev) {
 		idr_ref = tchan->dev->idr_ref;
 	} else {

```

## Re: \[PATCH\] dmaengine: fix null ptr check for \_\_dma\_async\_device\_channel\_register()

- From: Vinod Koul \<vkoul@kernel.org\>
- Date: 2020-02-03 04:18:09 
- Message: https://ratatoskr.run/dmaengine/2020/02/11791108.md

```text
On 31-01-20, 10:58, Dave Jiang wrote:
> Add check to pointer after assignment before accessing members.
> 
> Fixes: d2fb0a043838: ("dmaengine: break out channel registration")

Applied, thanks

-- 
~Vinod
```
