[Devel] [PATCH RHEL8 COMMIT] Revert "ms/asm-generic/tlb: avoid potential double flush"

Konstantin Khorenko khorenko at virtuozzo.com
Sat Aug 21 01:25:19 MSK 2021


The commit is pushed to "branch-rh8-4.18.0-305.3.1.vz8.7.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-305.3.1.vz8.7.8
------>
commit fcdad1eab5c7d3262ccb265f354f3c472ad040e7
Author: Konstantin Khorenko <khorenko at virtuozzo.com>
Date:   Sat Aug 21 01:23:32 2021 +0300

    Revert "ms/asm-generic/tlb: avoid potential double flush"
    
    This reverts commit f5e474552c270bc790b342a1a9d3059fb2ff30b0.
    
    Looks like this patch applied over RHEL8.4 leads to some cases where
    flush is missing, leaving trash in memory.
    
    https://jira.sw.ru/browse/PSBM-133273
    
    Signed-off-by: Konstantin Khorenko <khorenko at virtuozzo.com>
---
 include/asm-generic/tlb.h | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h
index e57b02e435bd..fbde9eb028da 100644
--- a/include/asm-generic/tlb.h
+++ b/include/asm-generic/tlb.h
@@ -408,12 +408,7 @@ tlb_update_vma_flags(struct mmu_gather *tlb, struct vm_area_struct *vma) { }
 
 static inline void tlb_flush_mmu_tlbonly(struct mmu_gather *tlb)
 {
-	/*
-	 * Anything calling __tlb_adjust_range() also sets at least one of
-	 * these bits.
-	 */
-	if (!(tlb->freed_tables || tlb->cleared_ptes || tlb->cleared_pmds ||
-	      tlb->cleared_puds || tlb->cleared_p4ds))
+	if (!tlb->end)
 		return;
 
 	tlb_flush(tlb);


More information about the Devel mailing list