lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 12 Nov 2014 20:02:13 +0900
From:	Chanwoo Choi <cw00.choi@...sung.com>
To:	dan.j.williams@...el.com, vinod.koul@...el.com
Cc:	geunsik.lim@...sung.com, inki.dae@...sung.com,
	chanho61.park@...sung.com, cw00.choi@...sung.com,
	dmaengine@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH] dma: pl330: Fix bug to allocate resources on ARM 64bit SoC

This patch fix following bug to allocate resources on ARM 64bit SoC.
The patch[1] adds to check wheter dev is NULL or not.

 [1] arm64: Warn on NULL device structure for dma APIs)
 - http://lists.infradead.org/pipermail/linux-arm-kernel/2013-December/218650.html

[    0.488475] ------------[ cut here ]------------
[    0.493008] WARNING: CPU: 0 PID: 1 at arch/arm64/mm/dma-mapping.c:95 __dma_alloc_coherent+0x104/0x114()
[    0.503038] Use an actual device structure for DMA allocation
[    0.509123] Modules linked in:
[    0.512093] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.18.0-rc3+ #54
[    0.518548] Call trace:
[    0.520949] [<ffffffc000087eb8>] dump_backtrace+0x0/0x124
[    0.526345] [<ffffffc000087fec>] show_stack+0x10/0x1c
[    0.531359] [<ffffffc0005101cc>] dump_stack+0x74/0xb8
[    0.536412] [<ffffffc0000ac698>] warn_slowpath_common+0x8c/0xb4
[    0.542295] [<ffffffc0000ac70c>] warn_slowpath_fmt+0x4c/0x58
[    0.547958] [<ffffffc000093860>] __dma_alloc_coherent+0x100/0x114
[    0.554012] [<ffffffc0000938d8>] __dma_alloc_noncoherent+0x64/0x180
[    0.560281] [<ffffffc00032c034>] pl330_probe+0x650/0x8f8
[    0.565574] [<ffffffc000325f10>] amba_probe+0x90/0xe0
[    0.570595] [<ffffffc00036c1c4>] really_probe+0x7c/0x220
[    0.575902] [<ffffffc00036c474>] __driver_attach+0xa0/0xa8
[    0.581355] [<ffffffc00036a5c8>] bus_for_each_dev+0x54/0x98
[    0.586925] [<ffffffc00036bd58>] driver_attach+0x1c/0x28
[    0.592205] [<ffffffc00036b9d4>] bus_add_driver+0x14c/0x204
[    0.597776] [<ffffffc00036cb50>] driver_register+0x64/0x130
[    0.603315] [<ffffffc000325a38>] amba_driver_register+0x50/0x5c
[    0.609234] [<ffffffc0006f2de0>] pl330_driver_init+0x10/0x1c
[    0.614859] [<ffffffc0000814bc>] do_one_initcall+0x88/0x1ac
[    0.620432] [<ffffffc0006d9acc>] kernel_init_freeable+0x148/0x1e8
[    0.626508] [<ffffffc00050d41c>] kernel_init+0x10/0xd4
[    0.632028] ---[ end trace d75c52ba9660e12a ]---

Cc: Vinod Koul <vinod.koul@...el.com>
Cc: Dan Williams <dan.j.williams@...el.com>
Signed-off-by: Chanwoo Choi <cw00.choi@...sung.com>
---
 drivers/dma/pl330.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c
index 4839bfa..8c7d4e1 100644
--- a/drivers/dma/pl330.c
+++ b/drivers/dma/pl330.c
@@ -2611,6 +2611,7 @@ pl330_probe(struct amba_device *adev, const struct amba_id *id)
 	}
 
 	pl330->mcbufsz = pdat ? pdat->mcbuf_sz : 0;
+	pl330->ddma.dev = &adev->dev;
 
 	res = &adev->res;
 	pl330->base = devm_ioremap_resource(&adev->dev, res);
-- 
1.8.5.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ