]> git.baikalelectronics.ru Git - kernel.git/commit
dax: ensure that zero pages are removed from other processes
authorMatthew Wilcox <willy@linux.intel.com>
Tue, 8 Sep 2015 21:59:37 +0000 (14:59 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 8 Sep 2015 22:35:28 +0000 (15:35 -0700)
commitdb6aabf3a2702169e49ee1d1bc2734d8585af2c1
treecbc6d973dbe88c0d397a62167bd5d3d66337ba40
parent077c84c7b3bbf36356f4e2f18a9e56f63c76b3c5
dax: ensure that zero pages are removed from other processes

If the first access to a huge page was a store, there would be no existing
zero pmd in this process's page tables.  There could be a zero pmd in
another process's page tables, if it had done a load.  We can detect this
case by noticing that the buffer_head returned from the filesystem is New,
and ensure that other processes mapping this huge page have their page
tables flushed.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Reported-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/dax.c