diff options
author | 2020-06-14 15:05:35 +0000 | |
---|---|---|
committer | 2020-06-14 15:05:35 +0000 | |
commit | 3fc26afeb24c4fedb45eeae9a256d791218bbf2e (patch) | |
tree | 875904853fd6f21e2ad4205c3166ca3efc8fe89f /sys/dev/pci | |
parent | fix i915_gem_swizzle_page() (diff) | |
download | wireguard-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/dev/pci')
-rw-r--r-- | sys/dev/pci/drm/i915/gt/intel_gtt.c | 3 | ||||
-rw-r--r-- | sys/dev/pci/drm/i915/i915_gem.c | 4 |
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; } |