|
@@ -0,0 +1,25 @@
|
|
|
+--- 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;
|
|
|
+ }
|