提交 79fc170b 编写于 作者: G Greg Kroah-Hartman

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
...@@ -682,6 +682,7 @@ int fat_count_free_clusters(struct super_block *sb) ...@@ -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 { ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册