X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=mm%2Fshmem.c;h=fa4fa6ce13bc431c65de6725d9b86f6db24bf041;hb=21ee9f398be209ccbb62929d35961ca1ed48eec3;hp=2d357729529880b29f18704edda807108f6cdc5b;hpb=8a9ea3237e7eb5c25f09e429ad242ae5a3d5ea22;p=pandora-kernel.git diff --git a/mm/shmem.c b/mm/shmem.c index 2d3577295298..fa4fa6ce13bc 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -1068,6 +1068,12 @@ int shmem_lock(struct file *file, int lock, struct user_struct *user) user_shm_unlock(inode->i_size, user); info->flags &= ~VM_LOCKED; mapping_clear_unevictable(file->f_mapping); + /* + * Ensure that a racing putback_lru_page() can see + * the pages of this mapping are evictable when we + * skip them due to !PageLRU during the scan. + */ + smp_mb__after_clear_bit(); scan_mapping_unevictable_pages(file->f_mapping); } retval = 0;