diff options
author | wma <wma@FreeBSD.org> | 2016-02-29 09:22:39 +0000 |
---|---|---|
committer | wma <wma@FreeBSD.org> | 2016-02-29 09:22:39 +0000 |
commit | 6dd3382ff8741c8167dd44d3f94b1c162da3be3a (patch) | |
tree | 8f473b7ed4691fe398e44ade68a0d37d22739240 /sys/arm/mv | |
parent | 62517cc3146261ea135285ef32ce74057c20648a (diff) | |
download | FreeBSD-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/arm/mv')
-rw-r--r-- | sys/arm/mv/mv_common.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/arm/mv/mv_common.c b/sys/arm/mv/mv_common.c index ec55357..d58fb39f 100644 --- a/sys/arm/mv/mv_common.c +++ b/sys/arm/mv/mv_common.c @@ -917,7 +917,8 @@ decode_win_sdram_fixup(void) { struct mem_region mr[FDT_MEM_REGIONS]; uint8_t window_valid[MV_WIN_DDR_MAX]; - int mr_cnt, memsize, err, i, j; + int mr_cnt, err, i, j; + u_long memsize; uint32_t valid_win_num = 0; /* Grab physical memory regions information from device tree. */ |