--- cryptodev-linux-1.8.orig/zc.c	2015-11-28 02:07:11.000000000 +0100
+++ cryptodev-linux-1.8/zc.c	2016-09-29 03:07:39.505502335 +0200
@@ -59,7 +59,12 @@ int __get_userbuf(uint8_t __user *addr,
 	}
 
 	down_read(&mm->mmap_sem);
-	ret = get_user_pages(task, mm,
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0))
+	ret = get_user_pages_remote(
+#else
+	ret = get_user_pages(
+#endif
+			task, mm,
 			(unsigned long)addr, pgcount, write, 0, pg, NULL);
 	up_read(&mm->mmap_sem);
 	if (ret != pgcount)
@@ -119,7 +124,7 @@ void release_user_pages(struct csession
 		else
 			ses->readonly_pages--;
 
-		page_cache_release(ses->pages[i]);
+		put_page(ses->pages[i]);
 	}
 	ses->used_pages = 0;
 }
