Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 May 2019 17:34:36 +0000 (UTC)
From:      Conrad Meyer <cem@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r347828 - head/sys/dev/xdma
Message-ID:  <201905161734.x4GHYaCW010948@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: cem
Date: Thu May 16 17:34:36 2019
New Revision: 347828
URL: https://svnweb.freebsd.org/changeset/base/347828

Log:
  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

Modified:
  head/sys/dev/xdma/xdma.c

Modified: head/sys/dev/xdma/xdma.c
==============================================================================
--- head/sys/dev/xdma/xdma.c	Thu May 16 17:34:09 2019	(r347827)
+++ head/sys/dev/xdma/xdma.c	Thu May 16 17:34:36 2019	(r347828)
@@ -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)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201905161734.x4GHYaCW010948>