[PATCH v2 0/4] Write protect DAX PMDs in *sync path
From: Ross Zwisler
Date: Thu Dec 22 2016 - 16:19:11 EST
Currently dax_mapping_entry_mkclean() fails to clean and write protect the
pmd_t of a DAX PMD entry during an *sync operation. This can result in
data loss, as detailed in patch 4.
You can find a working tree here:
https://git.kernel.org/cgit/linux/kernel/git/zwisler/linux.git/log/?h=dax_pmd_clean_v2
This series applies cleanly to mmotm-2016-12-19-16-31.
Changes since v1:
- Included Dan's patch to kill DAX support for UML.
- Instead of wrapping the DAX PMD code in dax_mapping_entry_mkclean() in
an #ifdef, we now create a stub for pmdp_huge_clear_flush() for the case
when CONFIG_TRANSPARENT_HUGEPAGE isn't defined. (Dan & Jan)
Dan Williams (1):
dax: kill uml support
Ross Zwisler (3):
dax: add stub for pmdp_huge_clear_flush()
mm: add follow_pte_pmd()
dax: wrprotect pmd_t in dax_mapping_entry_mkclean
fs/Kconfig | 2 +-
fs/dax.c | 49 ++++++++++++++++++++++++++++++-------------
include/asm-generic/pgtable.h | 10 +++++++++
include/linux/mm.h | 4 ++--
mm/memory.c | 41 ++++++++++++++++++++++++++++--------
5 files changed, 79 insertions(+), 27 deletions(-)
--
2.7.4