Nicholas Piggin 4231aba000 powerpc/64s: Fix page table fragment refcount race vs speculative references
The page table fragment allocator uses the main page refcount racily
with respect to speculative references. A customer observed a BUG due
to page table page refcount underflow in the fragment allocator. This
can be caused by the fragment allocator set_page_count stomping on a
speculative reference, and then the speculative failure handler
decrements the new reference, and the underflow eventually pops when
the page tables are freed.

Fix this by using a dedicated field in the struct page for the page
table fragment allocator.

Fixes: 5c1f6ee9a31c ("powerpc: Reduce PTE table memory wastage")
Cc: stable@vger.kernel.org # v3.10+
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-08-08 00:32:32 +10:00
..
2018-06-06 08:16:33 -07:00
2018-06-11 18:15:22 -07:00
2018-06-15 18:10:01 -03:00
2018-06-21 07:22:30 +09:00
2018-06-10 13:01:12 -07:00
2018-06-11 18:19:45 -07:00
2018-06-06 09:08:38 -07:00
2018-06-12 10:09:03 -07:00
2018-06-17 05:00:24 +09:00
2018-06-23 20:44:11 +08:00