linux/arch/ppc/mm
Grant Likely bd942ba3db [POWERPC] ppc405 Fix arithmatic rollover bug when memory size under 16M
mmu_mapin_ram() loops over total_lowmem to setup page tables.  However, if
total_lowmem is less that 16M, the subtraction rolls over and results in
a number just under 4G (because total_lowmem is an unsigned value).

This patch rejigs the loop from countup to countdown to eliminate the
bug.

Special thanks to Magnus Hjorth who wrote the original patch to fix this
bug.  This patch improves on his by making the loop code simpler (which
also eliminates the possibility of another rollover at the high end)
and also applies the change to arch/powerpc.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
2007-11-01 07:15:59 -05:00
..
4xx_mmu.c [POWERPC] ppc405 Fix arithmatic rollover bug when memory size under 16M 2007-11-01 07:15:59 -05:00
44x_mmu.c [POWERPC] 4xx: Deal with 44x virtually tagged icache 2007-11-01 07:15:30 -05:00
fault.c [POWERPC] 4xx: Fix 4xx flush_tlb_page() 2007-11-01 07:15:09 -05:00
fsl_booke_mmu.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
hashtable.S [PPC] Fix COMMON symbol warnings 2007-05-23 00:17:44 -05:00
init.c [POWERPC] Spelling fixes: arch/ppc/ 2007-05-12 11:32:49 +10:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mem_pieces.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mem_pieces.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mmu_context.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mmu_decl.h [POWERPC] 4xx: Fix 4xx flush_tlb_page() 2007-11-01 07:15:09 -05:00
pgtable.c [POWERPC] Remove APUS support from arch/ppc 2007-09-17 15:15:04 +10:00
ppc_mmu.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
tlb.c [PPC] Add linux/pagemap.h to arch/ppc/mm/tlb.c 2007-07-10 00:33:07 -05:00