From: Greg Kroah-Hartman Date: Tue, 4 Sep 2018 17:22:45 +0000 (+0200) Subject: 4.14-stable patches X-Git-Tag: v3.18.121~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8677856d86421ed2945e497515d3dbd51948fc11;p=thirdparty%2Fkernel%2Fstable-queue.git 4.14-stable patches added patches: mm-move-tlb_table_flush-to-tlb_flush_mmu_free.patch --- diff --git a/queue-4.14/mm-move-tlb_table_flush-to-tlb_flush_mmu_free.patch b/queue-4.14/mm-move-tlb_table_flush-to-tlb_flush_mmu_free.patch new file mode 100644 index 00000000000..262e47a6a05 --- /dev/null +++ b/queue-4.14/mm-move-tlb_table_flush-to-tlb_flush_mmu_free.patch @@ -0,0 +1,49 @@ +From db7ddef301128dad394f1c0f77027f86ee9a4edb Mon Sep 17 00:00:00 2001 +From: Nicholas Piggin +Date: Thu, 23 Aug 2018 18:47:08 +1000 +Subject: mm: move tlb_table_flush to tlb_flush_mmu_free + +From: Nicholas Piggin + +commit db7ddef301128dad394f1c0f77027f86ee9a4edb upstream. + +There is no need to call this from tlb_flush_mmu_tlbonly, it logically +belongs with tlb_flush_mmu_free. This makes future fixes simpler. + +[ This was originally done to allow code consolidation for the + mmu_notifier fix, but it also ends up helping simplify the + HAVE_RCU_TABLE_INVALIDATE fix. - Linus ] + +Signed-off-by: Nicholas Piggin +Acked-by: Will Deacon +Cc: Peter Zijlstra +Cc: stable@kernel.org +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman + +--- + mm/memory.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/mm/memory.c ++++ b/mm/memory.c +@@ -246,9 +246,6 @@ static void tlb_flush_mmu_tlbonly(struct + + tlb_flush(tlb); + mmu_notifier_invalidate_range(tlb->mm, tlb->start, tlb->end); +-#ifdef CONFIG_HAVE_RCU_TABLE_FREE +- tlb_table_flush(tlb); +-#endif + __tlb_reset_range(tlb); + } + +@@ -256,6 +253,9 @@ static void tlb_flush_mmu_free(struct mm + { + struct mmu_gather_batch *batch; + ++#ifdef CONFIG_HAVE_RCU_TABLE_FREE ++ tlb_table_flush(tlb); ++#endif + for (batch = &tlb->local; batch && batch->nr; batch = batch->next) { + free_pages_and_swap_cache(batch->pages, batch->nr); + batch->nr = 0; diff --git a/queue-4.14/series b/queue-4.14/series index 89745e470f1..7d2d168e95a 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -163,3 +163,4 @@ watchdog-mark-watchdog-touch-functions-as-notrace.patch cdrom-fix-info-leak-oob-read-in-cdrom_ioctl_drive_status.patch gcc-plugins-add-include-required-by-gcc-release-8.patch gcc-plugins-use-dynamic-initializers.patch +mm-move-tlb_table_flush-to-tlb_flush_mmu_free.patch