forked from Minki/linux
eCryptfs: fix possible fault in ecryptfs_sync_page
This will avoid a possible fault in ecryptfs_sync_page(). In the function, eCryptfs calls sync_page() method of a lower filesystem without checking its existence. However, there are many filesystems that don't have this method including network filesystems such as NFS, AFS, and so forth. They may fail when an eCryptfs page is waiting for lock. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> Acked-by: Michael Halcrow <mhalcrow@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
85787a2bea
commit
2aeb3db17f
@ -834,7 +834,8 @@ static void ecryptfs_sync_page(struct page *page)
|
||||
ecryptfs_printk(KERN_DEBUG, "find_lock_page failed\n");
|
||||
return;
|
||||
}
|
||||
lower_page->mapping->a_ops->sync_page(lower_page);
|
||||
if (lower_page->mapping->a_ops->sync_page)
|
||||
lower_page->mapping->a_ops->sync_page(lower_page);
|
||||
ecryptfs_printk(KERN_DEBUG, "Unlocking page with index = [0x%.16x]\n",
|
||||
lower_page->index);
|
||||
unlock_page(lower_page);
|
||||
|
Loading…
Reference in New Issue
Block a user