Skip to content

Instantly share code, notes, and snippets.

@tpruzina
Created April 19, 2016 23:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tpruzina/89a66c3d52d26ea29971214574a802be to your computer and use it in GitHub Desktop.
Save tpruzina/89a66c3d52d26ea29971214574a802be to your computer and use it in GitHub Desktop.
diff -ur NVIDIA-Linux-x86_64-364.12/kernel/nvidia-uvm/uvm_full_pagetbl_mgmt.c NVIDIA-Linux-x86_64-364.12b/kernel/nvidia-uvm/uvm_full_pagetbl_mgmt.c
--- NVIDIA-Linux-x86_64-364.12/kernel/nvidia-uvm/uvm_full_pagetbl_mgmt.c 2016-03-17 03:59:59.000000000 +0100
+++ NVIDIA-Linux-x86_64-364.12b/kernel/nvidia-uvm/uvm_full_pagetbl_mgmt.c 2016-04-04 23:57:29.510053491 +0200
@@ -2939,7 +2939,7 @@
set_page_dirty_lock(tempUserPageArray[i]);
UVM_PANIC_ON(tempUserPageArray[i] == 0);
- page_cache_release(tempUserPageArray[i]);
+ put_page(tempUserPageArray[i]);
tempUserPageArray[i] = 0;
}
diff -ur NVIDIA-Linux-x86_64-364.12/kernel/nvidia/os-mlock.c NVIDIA-Linux-x86_64-364.12b/kernel/nvidia/os-mlock.c
--- NVIDIA-Linux-x86_64-364.12/kernel/nvidia/os-mlock.c 2016-03-17 03:58:29.000000000 +0100
+++ NVIDIA-Linux-x86_64-364.12b/kernel/nvidia/os-mlock.c 2016-04-04 23:56:48.806055480 +0200
@@ -129,7 +129,7 @@
else if (pinned < page_count)
{
for (i = 0; i < pinned; i++)
- page_cache_release(user_pages[i]);
+ put_page(user_pages[i]);
os_free_mem(user_pages);
return NV_ERR_INVALID_ADDRESS;
}
@@ -156,7 +156,7 @@
{
if (write)
set_page_dirty_lock(user_pages[i]);
- page_cache_release(user_pages[i]);
+ put_page(user_pages[i]);
}
os_free_mem(user_pages);
diff -ur NVIDIA-Linux-x86_64-364.12/kernel/nvidia-drm/nvidia-drm-fb.c NVIDIA-Linux-x86_64-364.12b/kernel/nvidia-drm/nvidia-drm-fb.c
--- NVIDIA-Linux-x86_64-364.12/kernel/nvidia-drm/nvidia-drm-fb.c 2016-03-17 03:57:24.000000000 +0100
+++ NVIDIA-Linux-x86_64-364.12b/kernel/nvidia-drm/nvidia-drm-fb.c 2016-03-26 22:49:05.949366359 +0100
@@ -199,7 +199,8 @@
struct drm_framebuffer *nvidia_drm_framebuffer_create
(
struct drm_device *dev,
- struct drm_file *file, struct drm_mode_fb_cmd2 *cmd
+ struct drm_file *file,
+ const struct drm_mode_fb_cmd2 *cmd
)
{
return internal_framebuffer_create(dev, file, cmd, 0, 0);
diff -ur NVIDIA-Linux-x86_64-364.12/kernel/nvidia-drm/nvidia-drm-fb.h NVIDIA-Linux-x86_64-364.12b/kernel/nvidia-drm/nvidia-drm-fb.h
--- NVIDIA-Linux-x86_64-364.12/kernel/nvidia-drm/nvidia-drm-fb.h 2016-03-17 03:57:24.000000000 +0100
+++ NVIDIA-Linux-x86_64-364.12b/kernel/nvidia-drm/nvidia-drm-fb.h 2016-03-26 21:48:58.261462832 +0100
@@ -45,7 +45,8 @@
struct drm_framebuffer *nvidia_drm_framebuffer_create
(
struct drm_device *dev,
- struct drm_file *file, struct drm_mode_fb_cmd2 *cmd
+ struct drm_file *file,
+ const struct drm_mode_fb_cmd2 *cmd
);
int nvidia_drm_add_nvkms_fb(
--- NVIDIA-Linux-x86_64-364.15/kernel/nvidia-uvm/uvm_full_pagetbl_mgmt.c 2016-04-03 05:08:49.000000000 +0200
+++ NVIDIA-Linux-x86_64-364.15b/kernel/nvidia-uvm/uvm_full_pagetbl_mgmt.c 2016-04-17 00:48:05.050300392 +0200
@@ -2909,7 +2909,7 @@
// get userPA for this range
down_read(&current->mm->mmap_sem);
- returnVal = get_user_pages(current, current->mm, (unsigned long)(UVM_ALIGN_ADDR(userCopyBuffer, PAGE_SIZE_4K)),
+ returnVal = get_user_pages((unsigned long)(UVM_ALIGN_ADDR(userCopyBuffer, PAGE_SIZE_4K)),
userPagesReq, 1, 0, tempUserPageArray, NULL);
up_read(&current->mm->mmap_sem);
--- NVIDIA-Linux-x86_64-364.15/kernel/nvidia-uvm/uvm8_tools.c 2016-04-03 05:08:49.000000000 +0200
+++ NVIDIA-Linux-x86_64-364.15b/kernel/nvidia-uvm/uvm8_tools.c 2016-04-17 00:48:36.801297977 +0200
@@ -158,7 +158,7 @@
}
down_read(&current->mm->mmap_sem);
- ret = get_user_pages(current, current->mm, user_va, num_pages, 1, 0, *pages, NULL);
+ ret = get_user_pages(user_va, num_pages, 1, 0, *pages, NULL);
up_read(&current->mm->mmap_sem);
if (ret != num_pages) {
status = NV_ERR_INVALID_ARGUMENT;
--- NVIDIA-Linux-x86_64-364.15/kernel/nvidia-drm/nvidia-drm-linux.c 2016-04-03 05:05:22.000000000 +0200
+++ NVIDIA-Linux-x86_64-364.15b/kernel/nvidia-drm/nvidia-drm-linux.c 2016-04-17 00:49:10.378295423 +0200
@@ -121,8 +121,7 @@
down_read(&mm->mmap_sem);
- pages_pinned = get_user_pages(current, mm,
- address, pages_count, write, force,
+ pages_pinned = get_user_pages(address, pages_count, write, force,
user_pages, NULL);
up_read(&mm->mmap_sem);
--- NVIDIA-Linux-x86_64-364.15/kernel/nvidia/os-mlock.c 2016-04-03 05:07:03.000000000 +0200
+++ NVIDIA-Linux-x86_64-364.15b/kernel/nvidia/os-mlock.c 2016-04-17 00:46:54.758305738 +0200
@@ -116,7 +116,7 @@
}
down_read(&mm->mmap_sem);
- ret = get_user_pages(current, mm, (unsigned long)address,
+ ret = get_user_pages((unsigned long)address,
page_count, write, force, user_pages, NULL);
up_read(&mm->mmap_sem);
pinned = ret;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment