android_kernel_xiaomi_sm8350/arch/powerpc/mm
Michael Ellerman 56ec6462af [PATCH] powerpc/iseries: Fix double phys_to_abs bug in htab_bolt_mapping
Before the merge I updated create_pte_mapping() to work for iSeries, by
calling iSeries_hpte_bolt_or_insert. (4c55130b2a)

Later we changed iSeries_hpte_insert to cope with the bolting case, and called
that instead from create_pte_mapping() (which was renamed to htab_bolt_mapping)
(3c726f8dee).

Unfortunately that change introduced a subtle bug, where we pass an absolute
address to iSeries_hpte_insert() where it expects a physical address. This
leads to us calling phys_to_abs() twice on the physical address, which is
seriously bogus.

This only causes a problem if the absolute address from the first translation
can be looked up again in the chunk_map, which depends on the size and layout
of memory. I've seen it fail on one box, but not others.

The minimal fix is to pass the physical address to iSeries_hpte_insert(). For
2.6.17 we should make phys_to_abs() BUG if we try to double-translate an
address.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-02-28 16:25:55 +11:00
..
4xx_mmu.c [PATCH] mm: powerpc init_mm without ptlock 2005-11-23 16:08:38 -08:00
44x_mmu.c
fault.c [PATCH] powerpc: DABR exceptions should report the address not the PC 2006-01-09 16:03:33 +11:00
fsl_booke_mmu.c [PATCH] Update email address for Kumar 2005-11-13 18:14:10 -08:00
hash_low_32.S
hash_low_64.S [PATCH] ppc64: support 64k pages 2005-11-06 16:56:47 -08:00
hash_native_64.c [PATCH] powerpc64: fix spinlock recursion in native_hpte_clear 2006-02-24 11:36:29 +11:00
hash_utils_64.c [PATCH] powerpc/iseries: Fix double phys_to_abs bug in htab_bolt_mapping 2006-02-28 16:25:55 +11:00
hugetlbpage.c [PATCH] powerpc: fix two build warnings 2006-01-09 15:14:14 +11:00
imalloc.c [PATCH] powerpc: fix two build warnings 2006-01-09 15:14:14 +11:00
init_32.c [PATCH] powerpc: Unify udbg (#2) 2006-01-09 14:49:54 +11:00
init_64.c [PATCH] powerpc: Remove imalloc.h 2005-11-19 14:46:02 +11:00
lmb.c [PATCH] powerpc: Make sure we don't create empty lmb regions 2006-02-07 21:28:38 +11:00
Makefile
mem.c [PATCH] powerpc: Cleanup, consolidating icache dirtying logic 2006-02-07 21:51:53 +11:00
mmap.c
mmu_context_32.c
mmu_context_64.c
mmu_decl.h [PATCH] powerpc: Remove imalloc.h 2005-11-19 14:46:02 +11:00
numa.c [PATCH] powerpc: don't add memory to empty node/zone 2006-01-09 15:14:22 +11:00
pgtable_32.c powerpc: import a fix from arch/ppc/mm/pgtable.c 2005-10-31 14:40:03 +11:00
pgtable_64.c [PATCH] powerpc: IOMMU: don't ioremap null addresses 2006-01-10 15:30:31 +11:00
ppc_mmu_32.c [PATCH] ppc: Fix ppc32 build after 64K pages 2005-11-07 07:53:23 -08:00
slb_low.S [PATCH] powerpc: Separate usage of KERNELBASE and PAGE_OFFSET 2006-01-09 14:51:54 +11:00
slb.c [PATCH] powerpc: Replace VMALLOCBASE with VMALLOC_START 2006-01-09 15:05:47 +11:00
stab.c [PATCH] powerpc: Separate usage of KERNELBASE and PAGE_OFFSET 2006-01-09 14:51:54 +11:00
tlb_32.c [PATCH] mm: powerpc ptlock comments 2005-11-23 16:08:38 -08:00
tlb_64.c [PATCH] powerpc: Add a is_kernel_addr() macro 2006-01-09 14:51:50 +11:00