diff -druNp --no-dereference linux-libre-4.14.64-gnu/arch/x86/include/asm/pgtable-invert.h linux-libre-4.14.65-gnu/arch/x86/include/asm/pgtable-invert.h
--- linux-libre-4.14.64-gnu/arch/x86/include/asm/pgtable-invert.h	2018-08-17 15:01:12.000000000 -0400
+++ linux-libre-4.14.65-gnu/arch/x86/include/asm/pgtable-invert.h	2018-08-18 04:48:00.000000000 -0400
@@ -4,9 +4,18 @@
 
 #ifndef __ASSEMBLY__
 
+/*
+ * A clear pte value is special, and doesn't get inverted.
+ *
+ * Note that even users that only pass a pgprot_t (rather
+ * than a full pte) won't trigger the special zero case,
+ * because even PAGE_NONE has _PAGE_PROTNONE | _PAGE_ACCESSED
+ * set. So the all zero case really is limited to just the
+ * cleared page table entry case.
+ */
 static inline bool __pte_needs_invert(u64 val)
 {
-	return !(val & _PAGE_PRESENT);
+	return val && !(val & _PAGE_PRESENT);
 }
 
 /* Get a mask to xor with the page table entry to get the correct pfn. */
diff -druNp --no-dereference linux-libre-4.14.64-gnu/Makefile linux-libre-4.14.65-gnu/Makefile
--- linux-libre-4.14.64-gnu/Makefile	2018-08-17 15:41:01.000000000 -0400
+++ linux-libre-4.14.65-gnu/Makefile	2018-08-18 07:50:33.000000000 -0400
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 4
 PATCHLEVEL = 14
-SUBLEVEL = 64
+SUBLEVEL = 65
 EXTRAVERSION = -gnu
 NAME = Petit Gorille
 
