From 65a87b4b103abce70164382ae80e3bc86ab526c3 Mon Sep 17 00:00:00 2001 From: cem Date: Thu, 16 May 2019 17:34:36 +0000 Subject: [PATCH] xdma(4): Fix invalid pointer use (breaks arm.SOCFPGA build) In xdma_handle_mem_node(), vmem_size_t and vmem_addr_t pointers were passed to an FDT API that emits u_long values to the output parameter pointer. This broke on systems with both xdma and 32-bit vmem size/addr types (SOCFPGA). Reported by: tinderbox Sponsored by: Dell EMC Isilon --- sys/dev/xdma/xdma.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/dev/xdma/xdma.c b/sys/dev/xdma/xdma.c index 68aac5d5b7c..b2933cfe5f1 100644 --- a/sys/dev/xdma/xdma.c +++ b/sys/dev/xdma/xdma.c @@ -312,8 +312,7 @@ xdma_handle_mem_node(vmem_t *vmem, phandle_t memory) pcell_t *regp; int addr_cells, size_cells; int i, reg_len, ret, tuple_size, tuples; - vmem_addr_t mem_start; - vmem_size_t mem_size; + u_long mem_start, mem_size; if ((ret = fdt_addrsize_cells(OF_parent(memory), &addr_cells, &size_cells)) != 0) -- 2.45.0