Ignore:
Timestamp:
Apr 16, 2017, 3:07:01 PM (2 months ago)
Author:
brainslayer
Message:

update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/linux/universal/linux-3.18/arch/s390/mm/pgtable.c

    r30469 r31869  
    13591359bool gmap_test_and_clear_dirty(unsigned long address, struct gmap *gmap)
    13601360{
     1361        pgd_t *pgd;
     1362        pud_t *pud;
     1363        pmd_t *pmd;
    13611364        pte_t *pte;
    13621365        spinlock_t *ptl;
    13631366        bool dirty = false;
    13641367
    1365         pte = get_locked_pte(gmap->mm, address, &ptl);
     1368        pgd = pgd_offset(gmap->mm, address);
     1369        pud = pud_alloc(gmap->mm, pgd, address);
     1370        if (!pud)
     1371                return false;
     1372        pmd = pmd_alloc(gmap->mm, pud, address);
     1373        if (!pmd)
     1374                return false;
     1375        /* We can't run guests backed by huge pages, but userspace can
     1376         * still set them up and then try to migrate them without any
     1377         * migration support.
     1378         */
     1379        if (pmd_large(*pmd))
     1380                return true;
     1381
     1382        pte = pte_alloc_map_lock(gmap->mm, pmd, address, &ptl);
    13661383        if (unlikely(!pte))
    13671384                return false;
Note: See TracChangeset for help on using the changeset viewer.