From: Anton Altaparmakov <aia21@cam.ac.uk>
Date: Thu, 22 Jun 2006 21:47:15 +0000 (-0700)
Subject: [PATCH] NTFS: Critical bug fix (affects MIPS and possibly others)
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=f893afbe1262e27e91234506f72e17716190dd2f;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git

[PATCH] NTFS: Critical bug fix (affects MIPS and possibly others)

Many thanks to Pauline Ng for the detailed bug report and analysis!

Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
---

diff --git a/fs/ntfs/file.c b/fs/ntfs/file.c
index c63a83e8da9..36e1e136bb0 100644
--- a/fs/ntfs/file.c
+++ b/fs/ntfs/file.c
@@ -1484,14 +1484,15 @@ static inline void ntfs_flush_dcache_pages(struct page **pages,
 		unsigned nr_pages)
 {
 	BUG_ON(!nr_pages);
+	/*
+	 * Warning: Do not do the decrement at the same time as the call to
+	 * flush_dcache_page() because it is a NULL macro on i386 and hence the
+	 * decrement never happens so the loop never terminates.
+	 */
 	do {
-		/*
-		 * Warning: Do not do the decrement at the same time as the
-		 * call because flush_dcache_page() is a NULL macro on i386
-		 * and hence the decrement never happens.
-		 */
+		--nr_pages;
 		flush_dcache_page(pages[nr_pages]);
-	} while (--nr_pages > 0);
+	} while (nr_pages > 0);
 }
 
 /**