lkml.org 
[lkml]   [2019]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 174/190] mm/migrate.c: initialize pud_entry in migrate_vma()
    Date
    [ Upstream commit 7b358c6f12dc82364f6d317f8c8f1d794adbc3f5 ]

    When CONFIG_MIGRATE_VMA_HELPER is enabled, migrate_vma() calls
    migrate_vma_collect() which initializes a struct mm_walk but didn't
    initialize mm_walk.pud_entry. (Found by code inspection) Use a C
    structure initialization to make sure it is set to NULL.

    Link: http://lkml.kernel.org/r/20190719233225.12243-1-rcampbell@nvidia.com
    Fixes: 8763cb45ab967 ("mm/migrate: new memory migration helper for use with device memory")
    Signed-off-by: Ralph Campbell <rcampbell@nvidia.com>
    Reviewed-by: John Hubbard <jhubbard@nvidia.com>
    Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
    Cc: "Jérôme Glisse" <jglisse@redhat.com>
    Cc: Mel Gorman <mgorman@techsingularity.net>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    mm/migrate.c | 17 +++++++----------
    1 file changed, 7 insertions(+), 10 deletions(-)

    diff --git a/mm/migrate.c b/mm/migrate.c
    index b2ea7d1e6f248..0c48191a90368 100644
    --- a/mm/migrate.c
    +++ b/mm/migrate.c
    @@ -2328,16 +2328,13 @@ next:
    */
    static void migrate_vma_collect(struct migrate_vma *migrate)
    {
    - struct mm_walk mm_walk;
    -
    - mm_walk.pmd_entry = migrate_vma_collect_pmd;
    - mm_walk.pte_entry = NULL;
    - mm_walk.pte_hole = migrate_vma_collect_hole;
    - mm_walk.hugetlb_entry = NULL;
    - mm_walk.test_walk = NULL;
    - mm_walk.vma = migrate->vma;
    - mm_walk.mm = migrate->vma->vm_mm;
    - mm_walk.private = migrate;
    + struct mm_walk mm_walk = {
    + .pmd_entry = migrate_vma_collect_pmd,
    + .pte_hole = migrate_vma_collect_hole,
    + .vma = migrate->vma,
    + .mm = migrate->vma->vm_mm,
    + .private = migrate,
    + };

    mmu_notifier_invalidate_range_start(mm_walk.mm,
    migrate->start,
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-09-13 15:20    [W:5.269 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site