summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2020-06-14 15:05:35 +0000
committerjsg <jsg@openbsd.org>2020-06-14 15:05:35 +0000
commit3fc26afeb24c4fedb45eeae9a256d791218bbf2e (patch)
tree875904853fd6f21e2ad4205c3166ca3efc8fe89f /sys
parentfix i915_gem_swizzle_page() (diff)
downloadwireguard-openbsd-3fc26afeb24c4fedb45eeae9a256d791218bbf2e.tar.xz
wireguard-openbsd-3fc26afeb24c4fedb45eeae9a256d791218bbf2e.zip
convert kunmap() arguments with pointer to page struct
Our kunmap() has a void * argument with the address to unmap which results in unconverted uses compiling but doing the wrong thing. ok kettenis@
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/pci/drm/i915/gt/intel_gtt.c3
-rw-r--r--sys/dev/pci/drm/i915/i915_gem.c4
2 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/pci/drm/i915/gt/intel_gtt.c b/sys/dev/pci/drm/i915/gt/intel_gtt.c
index c1ce412315f..0fec315c3f1 100644
--- a/sys/dev/pci/drm/i915/gt/intel_gtt.c
+++ b/sys/dev/pci/drm/i915/gt/intel_gtt.c
@@ -333,10 +333,11 @@ static void poison_scratch_page(struct vm_page *page, unsigned long size)
vaddr = kmap(page);
#ifdef __linux__
memset(vaddr, POISON_FREE, PAGE_SIZE);
+ kunmap(page);
#else
poison_mem(vaddr, PAGE_SIZE);
+ kunmap(vaddr);
#endif
- kunmap(page);
page = pfn_to_page(page_to_pfn(page) + 1);
size -= PAGE_SIZE;
diff --git a/sys/dev/pci/drm/i915/i915_gem.c b/sys/dev/pci/drm/i915/i915_gem.c
index 4ccd87c13b8..351fbf3bc99 100644
--- a/sys/dev/pci/drm/i915/i915_gem.c
+++ b/sys/dev/pci/drm/i915/i915_gem.c
@@ -316,7 +316,7 @@ shmem_pread(struct vm_page *page, int offset, int len, char __user *user_data,
ret = __copy_to_user(user_data, vaddr + offset, len);
- kunmap(page);
+ kunmap(vaddr);
return ret ? -EFAULT : 0;
}
@@ -782,7 +782,7 @@ shmem_pwrite(struct vm_page *page, int offset, int len, char __user *user_data,
if (!ret && needs_clflush_after)
drm_clflush_virt_range(vaddr + offset, len);
- kunmap(page);
+ kunmap(vaddr);
return ret ? -EFAULT : 0;
}