mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-05 18:14:07 +08:00
Merge branch 'akpm'
Fixes from Andrew: * akpm: fs/fat/fatent.c: add cond_resched() to fat_count_free_clusters() mm/thp: fix call to mmu_notifier in set_pmd_migration_entry() v2 mm/mmap.c: don't clobber partially overlapping VMA with MAP_FIXED_NOREPLACE ocfs2: fix a GCC warning
This commit is contained in:
commit
79fc170b1f
@ -682,6 +682,7 @@ int fat_count_free_clusters(struct super_block *sb)
|
|||||||
if (ops->ent_get(&fatent) == FAT_ENT_FREE)
|
if (ops->ent_get(&fatent) == FAT_ENT_FREE)
|
||||||
free++;
|
free++;
|
||||||
} while (fat_ent_next(sbi, &fatent));
|
} while (fat_ent_next(sbi, &fatent));
|
||||||
|
cond_resched();
|
||||||
}
|
}
|
||||||
sbi->free_clusters = free;
|
sbi->free_clusters = free;
|
||||||
sbi->free_clus_valid = 1;
|
sbi->free_clus_valid = 1;
|
||||||
|
@ -96,7 +96,9 @@ struct ocfs2_unblock_ctl {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* Lockdep class keys */
|
/* Lockdep class keys */
|
||||||
|
#ifdef CONFIG_DEBUG_LOCK_ALLOC
|
||||||
static struct lock_class_key lockdep_keys[OCFS2_NUM_LOCK_TYPES];
|
static struct lock_class_key lockdep_keys[OCFS2_NUM_LOCK_TYPES];
|
||||||
|
#endif
|
||||||
|
|
||||||
static int ocfs2_check_meta_downconvert(struct ocfs2_lock_res *lockres,
|
static int ocfs2_check_meta_downconvert(struct ocfs2_lock_res *lockres,
|
||||||
int new_level);
|
int new_level);
|
||||||
|
@ -2885,9 +2885,6 @@ void set_pmd_migration_entry(struct page_vma_mapped_walk *pvmw,
|
|||||||
if (!(pvmw->pmd && !pvmw->pte))
|
if (!(pvmw->pmd && !pvmw->pte))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
mmu_notifier_invalidate_range_start(mm, address,
|
|
||||||
address + HPAGE_PMD_SIZE);
|
|
||||||
|
|
||||||
flush_cache_range(vma, address, address + HPAGE_PMD_SIZE);
|
flush_cache_range(vma, address, address + HPAGE_PMD_SIZE);
|
||||||
pmdval = *pvmw->pmd;
|
pmdval = *pvmw->pmd;
|
||||||
pmdp_invalidate(vma, address, pvmw->pmd);
|
pmdp_invalidate(vma, address, pvmw->pmd);
|
||||||
@ -2900,9 +2897,6 @@ void set_pmd_migration_entry(struct page_vma_mapped_walk *pvmw,
|
|||||||
set_pmd_at(mm, address, pvmw->pmd, pmdswp);
|
set_pmd_at(mm, address, pvmw->pmd, pmdswp);
|
||||||
page_remove_rmap(page, true);
|
page_remove_rmap(page, true);
|
||||||
put_page(page);
|
put_page(page);
|
||||||
|
|
||||||
mmu_notifier_invalidate_range_end(mm, address,
|
|
||||||
address + HPAGE_PMD_SIZE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void remove_migration_pmd(struct page_vma_mapped_walk *pvmw, struct page *new)
|
void remove_migration_pmd(struct page_vma_mapped_walk *pvmw, struct page *new)
|
||||||
|
@ -1410,7 +1410,7 @@ unsigned long do_mmap(struct file *file, unsigned long addr,
|
|||||||
if (flags & MAP_FIXED_NOREPLACE) {
|
if (flags & MAP_FIXED_NOREPLACE) {
|
||||||
struct vm_area_struct *vma = find_vma(mm, addr);
|
struct vm_area_struct *vma = find_vma(mm, addr);
|
||||||
|
|
||||||
if (vma && vma->vm_start <= addr)
|
if (vma && vma->vm_start < addr + len)
|
||||||
return -EEXIST;
|
return -EEXIST;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user