u-boot-brain/arch
Patrick Delaunay 54be09cd8f arm: caches: manage phys_addr_t overflow in mmu_set_region_dcache_behaviour
Solved the overflow on phys_addr_t type for start + size in
mmu_set_region_dcache_behaviour() function.

This overflow is avoided by dividing start and end by 2 before addition,
and we only expecting that start and size are even.

This patch doesn't change the current function behavior if the
parameters (start or size) are not aligned on MMU_SECTION_SIZE.

For example, this overflow occurs on ARM32 with:
start = 0xC0000000 and size = 0x40000000
then start + size = 0x100000000 and end = 0x0.

For information the function behavior change with risk of regression,
if we just shift start and size before the addition.
Example with 2MB section size:
  MMU_SECTION_SIZE 0x200000 and MMU_SECTION_SHIFT = 21
  with start = 0x1000000, size = 0x1000000,
  - with the proposed patch, start = 0 and end = 0x1 as previously
  - with the more simple patch:
    end = (start >> MMU_SECTION_SHIFT) + (size >> MMU_SECTION_SHIFT)
    the value of end change:
    start >> 21 = 0, size >> 21 = 0 and end = 0x0 !!!

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2020-05-01 11:34:01 -04:00
..
arc ARC: AXS10x: cleanup kconfig 2020-04-27 15:04:42 +03:00
arm arm: caches: manage phys_addr_t overflow in mmu_set_region_dcache_behaviour 2020-05-01 11:34:01 -04:00
m68k kconfig / kbuild: Re-sync with Linux 4.19 2020-04-10 11:18:32 -04:00
microblaze Kconfig: Remove redundant variable sets 2020-03-16 16:42:50 -04:00
mips mips: Add support for SoM "VoCore2". 2020-04-27 20:30:14 +02:00
nds32 dma-mapping: move dma_map_(un)single() to <linux/dma-mapping.h> 2020-02-19 21:27:30 +08:00
nios2 common: Move hang() to the same header as panic() 2020-01-24 23:06:49 +05:30
powerpc phy: add support for backplane kr mode 2020-04-20 13:35:11 +05:30
riscv sifive: fu540: Enable spi-nor flash support 2020-04-30 22:34:20 +05:30
sandbox acpi: Add an acpi command 2020-04-30 17:16:12 +08:00
sh dma-mapping: add <asm/dma-mapping.h> for all architectures 2020-02-20 15:09:54 +08:00
x86 x86: Use the existing stack when chain-loading 2020-04-30 17:48:17 +08:00
xtensa dma-mapping: add <asm/dma-mapping.h> for all architectures 2020-02-20 15:09:54 +08:00
.gitignore
Kconfig sandbox: implement ft_board_setup() 2020-04-16 08:07:58 -06:00
u-boot-elf.lds arch: Add explicit linker script for u-boot-elf 2020-04-03 11:52:55 -04:00