summaryrefslogtreecommitdiffstats
path: root/sys/dev/cesa
diff options
context:
space:
mode:
authorwma <wma@FreeBSD.org>2016-02-29 09:22:39 +0000
committerwma <wma@FreeBSD.org>2016-02-29 09:22:39 +0000
commit6dd3382ff8741c8167dd44d3f94b1c162da3be3a (patch)
tree8f473b7ed4691fe398e44ade68a0d37d22739240 /sys/dev/cesa
parent62517cc3146261ea135285ef32ce74057c20648a (diff)
downloadFreeBSD-src-6dd3382ff8741c8167dd44d3f94b1c162da3be3a.zip
FreeBSD-src-6dd3382ff8741c8167dd44d3f94b1c162da3be3a.tar.gz
Fix fdt_get_mem_regions() to work with 64-bit addresses
Use u_long instead of uint32_t variables to avoid overflow in case of PA space bigger than 32-bit. Obtained from: Semihalf Submitted by: Michal Stanek <mst@semihalf.com> Sponsored by: Annapurna Labs Approved by: cognet (mentor) Reviewed by: andrew, br, wma Differential revision: https://reviews.freebsd.org/D5393
Diffstat (limited to 'sys/dev/cesa')
-rw-r--r--sys/dev/cesa/cesa.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/cesa/cesa.c b/sys/dev/cesa/cesa.c
index c14f944..9c747f3 100644
--- a/sys/dev/cesa/cesa.c
+++ b/sys/dev/cesa/cesa.c
@@ -1641,7 +1641,8 @@ decode_win_cesa_setup(struct cesa_softc *sc)
{
struct mem_region availmem_regions[FDT_MEM_REGIONS];
int availmem_regions_sz;
- uint32_t memsize, br, cr, i;
+ uint32_t br, cr, i;
+ u_long memsize;
/* Grab physical memory regions information from DTS */
if (fdt_get_mem_regions(availmem_regions, &availmem_regions_sz,
OpenPOWER on IntegriCloud