On Wed, 25 Jul 2018 15:39:24 +0300 "Kirill A. Shutemov" <[email protected]> 
wrote:

> There are few more:
> 
> arch/arm64/include/asm/tlb.h:   struct vm_area_struct vma = { .vm_mm = 
> tlb->mm, };
> arch/arm64/mm/hugetlbpage.c:    struct vm_area_struct vma = { .vm_mm = mm };
> arch/arm64/mm/hugetlbpage.c:    struct vm_area_struct vma = { .vm_mm = mm };

I'n not understanding.  Your "mm: use vma_init() to initialize VMAs on
stack and data segments" addressed all those?

--- 
a/arch/arm64/include/asm/tlb.h~mm-use-vma_init-to-initialize-vmas-on-stack-and-data-segments
+++ a/arch/arm64/include/asm/tlb.h
@@ -37,7 +37,9 @@ static inline void __tlb_remove_table(vo
 
 static inline void tlb_flush(struct mmu_gather *tlb)
 {
-       struct vm_area_struct vma = { .vm_mm = tlb->mm, };
+       struct vm_area_struct vma;
+
+       vma_init(&vma, tlb->mm);
 
        /*
         * The ASID allocator will either invalidate the ASID or mark
--- 
a/arch/arm64/mm/hugetlbpage.c~mm-use-vma_init-to-initialize-vmas-on-stack-and-data-segments
+++ a/arch/arm64/mm/hugetlbpage.c
@@ -108,11 +108,13 @@ static pte_t get_clear_flush(struct mm_s
                             unsigned long pgsize,
                             unsigned long ncontig)
 {
-       struct vm_area_struct vma = { .vm_mm = mm };
+       struct vm_area_struct vma;
        pte_t orig_pte = huge_ptep_get(ptep);
        bool valid = pte_valid(orig_pte);
        unsigned long i, saddr = addr;
 
+       vma_init(&vma, mm);
+
        for (i = 0; i < ncontig; i++, addr += pgsize, ptep++) {
                pte_t pte = ptep_get_and_clear(mm, addr, ptep);
 
@@ -145,9 +147,10 @@ static void clear_flush(struct mm_struct
                             unsigned long pgsize,
                             unsigned long ncontig)
 {
-       struct vm_area_struct vma = { .vm_mm = mm };
+       struct vm_area_struct vma;
        unsigned long i, saddr = addr;
 
+       vma_init(&vma, mm);
        for (i = 0; i < ncontig; i++, addr += pgsize, ptep++)
                pte_clear(mm, addr, ptep);
 

Reply via email to