diff --git a/mm/truncate.c b/mm/truncate.c
index dc459014f777291c2d95c6fe6e30898758b27b4f..232eb2736a79624eeccfc1387e9360e78fdb0404 100644
--- a/mm/truncate.c
+++ b/mm/truncate.c
@@ -269,7 +269,7 @@ void truncate_inode_pages_range(struct address_space *mapping,
 			index = start;
 			continue;
 		}
-		if (pvec.pages[0]->index > end) {
+		if (index == start && pvec.pages[0]->index > end) {
 			pagevec_release(&pvec);
 			break;
 		}