[PATCH 6/7] i915: Convert to verify_page_range()

From: Peter Zijlstra
Date: Mon Apr 12 2021 - 04:09:39 EST


check_{present,absent}() only need R/O access, use verify_page_range()
instead to remove modular use of apply_to_page_range().

Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
---
drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)

--- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
+++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
@@ -1225,9 +1225,9 @@ static int igt_mmap_gpu(void *arg)
return 0;
}

-static int check_present_pte(pte_t *pte, unsigned long addr, void *data)
+static int check_present_pte(pte_t pte, unsigned long addr, void *data)
{
- if (!pte_present(*pte) || pte_none(*pte)) {
+ if (!pte_present(pte) || pte_none(pte)) {
pr_err("missing PTE:%lx\n",
(addr - (unsigned long)data) >> PAGE_SHIFT);
return -EINVAL;
@@ -1236,9 +1236,9 @@ static int check_present_pte(pte_t *pte,
return 0;
}

-static int check_absent_pte(pte_t *pte, unsigned long addr, void *data)
+static int check_absent_pte(pte_t pte, unsigned long addr, void *data)
{
- if (pte_present(*pte) && !pte_none(*pte)) {
+ if (pte_present(pte) && !pte_none(pte)) {
pr_err("present PTE:%lx; expected to be revoked\n",
(addr - (unsigned long)data) >> PAGE_SHIFT);
return -EINVAL;
@@ -1249,14 +1249,14 @@ static int check_absent_pte(pte_t *pte,

static int check_present(unsigned long addr, unsigned long len)
{
- return apply_to_page_range(current->mm, addr, len,
- check_present_pte, (void *)addr);
+ return verify_page_range(current->mm, addr, len,
+ check_present_pte, (void *)addr);
}

static int check_absent(unsigned long addr, unsigned long len)
{
- return apply_to_page_range(current->mm, addr, len,
- check_absent_pte, (void *)addr);
+ return verify_page_range(current->mm, addr, len,
+ check_absent_pte, (void *)addr);
}

static int prefault_range(u64 start, u64 len)