linux_dsm_epyc7002/arch/powerpc
Aneesh Kumar K.V 44734f23de powerpc/mm: Fix _PAGE_PTE breaking swapoff
Core kernel expects swp_entry_t to consist of only swap type and swap
offset. We should not leak pte bits into swp_entry_t. This breaks
swapoff which use the swap type and offset to build a swp_entry_t and
later compare that to the swp_entry_t obtained from linux page table
pte. Leaking pte bits into swp_entry_t breaks that comparison and
results in us looping in try_to_unuse.

The stack trace can be anywhere below try_to_unuse() in mm/swapfile.c,
since swapoff is circling around and around that function, reading from
each used swap block into a page, then trying to find where that page
belongs, looking at every non-file pte of every mm that ever swapped.

Fixes: 6a119eae94 ("powerpc/mm: Add a _PAGE_PTE bit")
Reported-by: Hugh Dickins <hughd@google.com>
Suggested-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Acked-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-01-12 11:02:35 +11:00
..
boot powerpc/cell: Remove the Cell QPACE code 2015-12-14 20:41:50 +11:00
configs powerpc/cell: Remove the Cell QPACE code 2015-12-14 20:41:50 +11:00
crypto powerpc: Create disable_kernel_{fp,altivec,vsx,spe}() 2015-12-01 13:52:25 +11:00
include powerpc/mm: Fix _PAGE_PTE breaking swapoff 2016-01-12 11:02:35 +11:00
kernel powerpc: Implement save_stack_trace_regs() to enable kprobe stack tracing 2016-01-11 14:27:28 +11:00
kvm powerpc: create flush_all_to_thread() 2015-12-02 19:34:40 +11:00
lib powerpc: Create disable_kernel_{fp,altivec,vsx,spe}() 2015-12-01 13:52:25 +11:00
math-emu powerpc: Correct emulated mtfsf instruction 2014-04-07 10:33:11 +10:00
mm powerpc: Fix build break due to paca mm_context_t changes 2016-01-09 08:28:44 +11:00
net ebpf: migrate bpf_prog's flags to bitfield 2015-10-03 05:02:39 -07:00
oprofile powerpc: Remove mtmsrd(), use existing mtmsr() 2015-07-13 15:47:28 +10:00
perf powerpc updates for 4.4 2015-11-05 23:38:43 -08:00
platforms powerpc/powernv: Reserve PE#0 on NPU 2016-01-11 20:30:52 +11:00
sysdev powerpc/axonram: Fix module autoload for OF platform driver 2015-11-26 22:11:18 +11:00
xmon powerpc/xmon: Use rtas_call_unlocked() in xmon 2015-12-17 22:40:55 +11:00
Kconfig powerpc/mm: Add page soft dirty tracking 2015-12-17 22:40:58 +11:00
Kconfig.debug powerpc: Fix style of self-test config prompts 2015-12-27 19:12:40 +11:00
Makefile powerpc/cell: Drop CONFIG_TUNE_CELL in favour of CONFIG_CELL_CPU 2015-10-19 19:51:18 +11:00
relocs_check.sh powerpc: Convert relocs_check to a shell script using grep 2015-03-23 14:47:39 +11:00