diff -rupN a/sdk4.3.5.21/development/src_lucy/driver/linux.c b/sdk4.3.5.21/development/src_lucy/driver/linux.c
--- a/sdk4.3.5.21/development/src_lucy/driver/linux.c	2016-05-13 02:25:39.000000000 +0200
+++ b/sdk4.3.5.21/development/src_lucy/driver/linux.c	2017-03-03 09:47:00.253642795 +0100
@@ -790,7 +790,13 @@ INTERNAL donttag ps_alenlist * hal_LockM
 
   /*** make all pages present */
   down_read(&current->mm->mmap_sem);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
   result = get_user_pages(current, current->mm, (unsigned long) addr, npages, bcard2host, 0 /* force */, pages, NULL);
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(4,9,0)
+  result = get_user_pages((unsigned long) addr, npages, bcard2host, 0 /* force */, pages, NULL);
+#else
+  result = get_user_pages((unsigned long) addr, npages, bcard2host, pages, NULL);
+#endif
   up_read(&current->mm->mmap_sem);
   if (result != npages) {
     DPF_WARN("hal_LockMemory: get_user_pages failed (%d)\n", result);
@@ -907,7 +913,11 @@ INTERNAL donttag void hal_UnlockMemory(v
         if (alenlist->flags & PS_ALENLIST_READ) {
           SetPageDirty(pages[i]);
         }
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
         page_cache_release(pages[i]);
+#else
+        put_page(pages[i]);
+#endif
       }
     }
 
diff -rupN a/sdk4.3.5.21/development/src_v4r3/driver/linux.c b/sdk4.3.5.21/development/src_v4r3/driver/linux.c
--- a/sdk4.3.5.21/development/src_v4r3/driver/linux.c	2016-05-13 02:25:39.000000000 +0200
+++ b/sdk4.3.5.21/development/src_v4r3/driver/linux.c	2017-03-03 09:47:51.082554472 +0100
@@ -806,7 +806,13 @@ INTERNAL donttag ps_alenlist * hal_LockM
 
   /*** make all pages present */
   down_read(&current->mm->mmap_sem);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
   result = get_user_pages(current, current->mm, (unsigned long) addr, npages, bcard2host, 0 /* force */, pages, NULL);
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(4,9,0)
+  result = get_user_pages((unsigned long) addr, npages, bcard2host, 0 /* force */, pages, NULL);
+#else
+  result = get_user_pages((unsigned long) addr, npages, bcard2host, pages, NULL);
+#endif
   up_read(&current->mm->mmap_sem);
   if (result != npages) {
     DPF_WARN("hal_LockMemory: get_user_pages failed (%d)\n", result);
@@ -924,7 +930,11 @@ INTERNAL donttag void hal_UnlockMemory(v
         if (alenlist->flags & PS_ALENLIST_READ) {
           SetPageDirty(pages[i]);
         }
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
         page_cache_release(pages[i]);
+#else
+        put_page(pages[i]);
+#endif
       }
     }
 
