diff --git a/[refs] b/[refs] index 24a476737bb5..679bb932e42b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6de06f313a65d0ecabf055e708d082002b568866 +refs/heads/master: e6c9366b2adb52cba64b359b3050200743c7568c diff --git a/trunk/mm/shmem.c b/trunk/mm/shmem.c index dfc7069102ee..ba4ad28b7db6 100644 --- a/trunk/mm/shmem.c +++ b/trunk/mm/shmem.c @@ -916,11 +916,12 @@ static int shmem_unuse_inode(struct shmem_inode_info *info, swp_entry_t entry, s if (size > ENTRIES_PER_PAGE) size = ENTRIES_PER_PAGE; offset = shmem_find_swp(entry, ptr, ptr+size); + shmem_swp_unmap(ptr); if (offset >= 0) { shmem_dir_unmap(dir); + ptr = shmem_swp_map(subdir); goto found; } - shmem_swp_unmap(ptr); } } lost1: