linux_dsm_epyc7002/arch/powerpc/mm
Aneesh Kumar K.V f52741c410 powerpc/mm: Fix node look up with numa=off boot
If we boot with numa=off, we need to make sure we return NUMA_NO_NODE when
looking up associativity details of resources. Without this, we hit crash
like below

BUG: Unable to handle kernel data access at 0x40000000008
Faulting instruction address: 0xc000000008f31704
cpu 0x1b: Vector: 380 (Data SLB Access) at [c00000000b9bb320]
    pc: c000000008f31704: _raw_spin_lock+0x14/0x100
    lr: c0000000083f41fc: ____cache_alloc_node+0x5c/0x290
    sp: c00000000b9bb5b0
   msr: 800000010280b033
   dar: 40000000008
  current = 0xc00000000b9a2700
  paca    = 0xc00000000a740c00   irqmask: 0x03   irq_happened: 0x01
    pid   = 1, comm = swapper/27
Linux version 5.2.0-rc4-00925-g74e188c620b1 (root@linux-d8ip) (gcc version 7.4.1 20190424 [gcc-7-branch revision 270538] (SUSE Linux)) #34 SMP Sat Jun 29 00:41:02 EDT 2019
enter ? for help
[link register   ] c0000000083f41fc ____cache_alloc_node+0x5c/0x290
[c00000000b9bb5b0] 0000000000000dc0 (unreliable)
[c00000000b9bb5f0] c0000000083f48c8 kmem_cache_alloc_node_trace+0x138/0x360
[c00000000b9bb670] c000000008aa789c devres_alloc_node+0x4c/0xa0
[c00000000b9bb6a0] c000000008337218 devm_memremap+0x58/0x130
[c00000000b9bb6f0] c000000008aed00c devm_nsio_enable+0xdc/0x170
[c00000000b9bb780] c000000008af3b6c nd_pmem_probe+0x4c/0x180
[c00000000b9bb7b0] c000000008ad84cc nvdimm_bus_probe+0xac/0x260
[c00000000b9bb840] c000000008aa0628 really_probe+0x148/0x500
[c00000000b9bb8d0] c000000008aa0d7c driver_probe_device+0x19c/0x1d0
[c00000000b9bb950] c000000008aa11bc device_driver_attach+0xcc/0x100
[c00000000b9bb990] c000000008aa12ec __driver_attach+0xfc/0x1e0
[c00000000b9bba10] c000000008a9d0a4 bus_for_each_dev+0xb4/0x130
[c00000000b9bba70] c000000008a9fc04 driver_attach+0x34/0x50
[c00000000b9bba90] c000000008a9f118 bus_add_driver+0x1d8/0x300
[c00000000b9bbb20] c000000008aa2358 driver_register+0x98/0x1a0
[c00000000b9bbb90] c000000008ad7e6c __nd_driver_register+0x5c/0x100
[c00000000b9bbbf0] c0000000093efbac nd_pmem_driver_init+0x34/0x48
[c00000000b9bbc10] c0000000080106c0 do_one_initcall+0x60/0x2d0
[c00000000b9bbce0] c00000000938463c kernel_init_freeable+0x384/0x48c
[c00000000b9bbdb0] c000000008010a5c kernel_init+0x2c/0x160
[c00000000b9bbe20] c00000000800ba54 ret_from_kernel_thread+0x5c/0x68

Reported-and-debugged-by: Vaibhav Jain <vaibhav@linux.ibm.com>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2019-07-05 00:27:32 +10:00
..
book3s32 powerpc/32s: fix flush_hash_pages() on SMP 2019-05-14 22:58:52 +10:00
book3s64 powerpc/mm/radix: Use the right page size for vmemmap mapping 2019-07-05 00:27:21 +10:00
kasan powerpc/kasan: add missing/lost Makefile 2019-05-06 20:21:34 +10:00
nohash powerpc/book3e: move early_alloc_pgtable() to init section 2019-05-03 01:20:24 +10:00
ptdump powerpc/mm: Warn if W+X pages found on boot 2019-05-03 02:54:45 +10:00
copro_fault.c powerpc/mm/hash: Rename KERNEL_REGION_ID to LINEAR_MAP_REGION_ID 2019-04-21 23:12:40 +10:00
dma-noncoherent.c powerpc/mm: change #include "mmu_decl.h" to <mm/mmu_decl.h> 2019-05-02 21:18:58 +10:00
drmem.c powerpc/pseries: Track LMB nid instead of using device tree 2019-04-29 22:27:16 +10:00
fault.c powerpc/mm: Detect bad KUAP faults 2019-04-21 23:06:04 +10:00
highmem.c powerpc/highmem: Change BUG_ON() to WARN_ON() 2019-04-20 22:02:11 +10:00
hugetlbpage.c powerpc/mm: Fix crashes with hugepages & 4K pages 2019-05-15 11:13:35 +10:00
init_32.c powerpc/32: Add KASAN support 2019-05-03 01:20:26 +10:00
init_64.c powerpc/mm: change #include "mmu_decl.h" to <mm/mmu_decl.h> 2019-05-02 21:18:58 +10:00
init-common.c powerpc/mm: fix section mismatch for setup_kup() 2019-05-06 20:21:56 +10:00
Makefile powerpc/mm: fix redundant inclusion of pgtable-frag.o in Makefile 2019-05-06 20:21:56 +10:00
mem.c powerpc: enable a 30-bit ZONE_DMA for 32-bit pmac 2019-06-19 22:31:20 +10:00
mmap.c exec: pass stack rlimit into mm layout functions 2018-04-11 10:28:37 -07:00
mmu_context.c powerpc/mm: convert Book3E 64 to pte_fragment 2019-05-03 01:20:24 +10:00
mmu_decl.h powerpc/mm: print hash info in a helper 2019-05-03 01:20:26 +10:00
numa.c powerpc/mm: Fix node look up with numa=off boot 2019-07-05 00:27:32 +10:00
pgtable_32.c powerpc/mm/32s: fix condition that is always true 2019-06-19 20:05:08 +10:00
pgtable_64.c powerpc/64s/radix: ioremap use ioremap_page_range 2019-06-19 20:05:09 +10:00
pgtable-frag.c mm: treewide: remove unused address argument from pte_alloc functions 2019-01-04 13:13:47 -08:00
pgtable.c powerpc/64s: __find_linux_pte() synchronization vs pmdp_invalidate() 2019-06-07 16:28:28 +10:00
slice.c powerpc/mm: define subarch SLB_ADDR_LIMIT_DEFAULT 2019-05-03 01:20:23 +10:00