[PATCH 0/3] Fixes for vm_insert_pfn_prot()

From: Matthew Wilcox
Date: Mon Jan 25 2016 - 12:26:16 EST

From: Matthew Wilcox <willy@xxxxxxxxxxxxxxx>

Commit 1745cbc5d0 recently added vm_insert_pfn_prot(). Unfortunately,
it doesn't actually work on x86 with PAT enabled (which is basically
all machines, so I don't know if anyone actually tested it). Also,
vm_insert_pfn_prot() continues with a couple of old-school traditions,
of taking an unsigned long instead of a pfn_t, and returning an errno
that then has to be translated in the fault handler.

I was looking at adding a somewhat similar function for DAX, so this
patchset includes changing DAX to use Andy's interface. I'd like to see
at least the first two patches go into Ingo's tree. The third patch can
find its way into the -mm tree later to stay with the other DAX patches.

Matthew Wilcox (3):
x86: Honour passed pgprot in track_pfn_insert() and track_pfn_remap()
mm: Convert vm_insert_pfn_prot to vmf_insert_pfn_prot
dax: Handle write faults more efficiently

arch/x86/entry/vdso/vma.c | 6 ++--
arch/x86/mm/pat.c | 4 +--
fs/dax.c | 73 ++++++++++++++++++++++++++++++++++-------------
include/linux/mm.h | 4 +--
mm/memory.c | 31 +++++++++++---------
5 files changed, 78 insertions(+), 40 deletions(-)