mirror of https://github.com/torvalds/linux.git
With CONFIG_DISCONTIGMEM=y and multiple physical memory areas, cat /proc/kpageflags triggers this kernel bug: kernel BUG at arch/parisc/include/asm/mmzone.h:50! CPU: 2 PID: 7848 Comm: cat Tainted: G D W 3.10.0-rc3-64bit #44 IAOQ[0]: kpageflags_read0x128/0x238 IAOQ[1]: kpageflags_read0x12c/0x238 RP(r2): proc_reg_read0xbc/0x130 Backtrace: [<00000000402ca2d4>] proc_reg_read0xbc/0x130 [<0000000040235bcc>] vfs_read0xc4/0x1d0 [<0000000040235f0c>] SyS_read0x94/0xf0 [<0000000040105fc0>] syscall_exit0x0/0x14 kpageflags_read() walks through the whole memory, even if some memory areas are physically not available. So, we should better not BUG on an unavailable pfn in pfn_to_nid() but just return the expected value -1 or 0. Signed-off-by: Helge Deller <deller@gmx.de> |
||
|---|---|---|
| .. | ||
| Kbuild | ||
| agp.h | ||
| asm-offsets.h | ||
| asmregs.h | ||
| assembly.h | ||
| atomic.h | ||
| barrier.h | ||
| bitops.h | ||
| bug.h | ||
| bugs.h | ||
| cache.h | ||
| cacheflush.h | ||
| checksum.h | ||
| cmpxchg.h | ||
| compat.h | ||
| compat_ucontext.h | ||
| current.h | ||
| delay.h | ||
| dma-mapping.h | ||
| dma.h | ||
| eisa_bus.h | ||
| eisa_eeprom.h | ||
| elf.h | ||
| fb.h | ||
| fixmap.h | ||
| floppy.h | ||
| ftrace.h | ||
| futex.h | ||
| grfioctl.h | ||
| hardirq.h | ||
| hardware.h | ||
| ide.h | ||
| io.h | ||
| irq.h | ||
| irqflags.h | ||
| kbdleds.h | ||
| kmap_types.h | ||
| ldcw.h | ||
| led.h | ||
| linkage.h | ||
| machdep.h | ||
| mc146818rtc.h | ||
| mckinley.h | ||
| mmu.h | ||
| mmu_context.h | ||
| mmzone.h | ||
| module.h | ||
| page.h | ||
| parisc-device.h | ||
| parport.h | ||
| pci.h | ||
| pdc.h | ||
| pdc_chassis.h | ||
| pdcpat.h | ||
| perf.h | ||
| perf_event.h | ||
| pgalloc.h | ||
| pgtable.h | ||
| prefetch.h | ||
| processor.h | ||
| psw.h | ||
| ptrace.h | ||
| ropes.h | ||
| rt_sigframe.h | ||
| rtc.h | ||
| runway.h | ||
| scatterlist.h | ||
| sections.h | ||
| serial.h | ||
| shmparam.h | ||
| signal.h | ||
| smp.h | ||
| special_insns.h | ||
| spinlock.h | ||
| spinlock_types.h | ||
| string.h | ||
| superio.h | ||
| switch_to.h | ||
| syscall.h | ||
| termios.h | ||
| thread_info.h | ||
| timex.h | ||
| tlb.h | ||
| tlbflush.h | ||
| traps.h | ||
| uaccess.h | ||
| ucontext.h | ||
| unaligned.h | ||
| unistd.h | ||
| unwind.h | ||