[PATCH] NTFS: Critical bug fix (affects MIPS and possibly others)
It fixes a crash in NTFS on architectures where flush_dcache_page() is a real function. I never noticed this as all my testing is done on i386 where flush_dcache_page() is NULL. http://bugzilla.kernel.org/show_bug.cgi?id=6700 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: Chris Wright <chrisw@sous-sol.org>
This commit is contained in:
committed by
Chris Wright
parent
50cdbb604d
commit
323e290abc
+7
-6
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user