[PATCH] drm/i915: Call page_address() on page acquired with GFP_KERNEL flag
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Wed Jun 14 13:22:23 UTC 2023
On 14/06/2023 13:35, Sumitra Sharma wrote:
> Pages allocated with GFP_KERNEL cannot come from Highmem.
> That is why there is no need to call kmap() on them.
Are you sure it is GFP_KERNEL backed and not tmpfs? I am not sure myself
so let me copy Matt and Thomas if they happen to know off hand.
Regards,
Tvrtko
> Therefore, don't call kmap() on the page coming from
> vma_res->bi.pages using for_each_sgt_page() in
> i915_vma_coredump_create().
>
> Use a plain page_address() to get the kernel address instead.
>
> Signed-off-by: Sumitra Sharma <sumitraartsy at gmail.com>
> ---
> drivers/gpu/drm/i915/i915_gpu_error.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
> index f020c0086fbc..6f51cb4fc55c 100644
> --- a/drivers/gpu/drm/i915/i915_gpu_error.c
> +++ b/drivers/gpu/drm/i915/i915_gpu_error.c
> @@ -1164,9 +1164,8 @@ i915_vma_coredump_create(const struct intel_gt *gt,
>
> drm_clflush_pages(&page, 1);
>
> - s = kmap(page);
> + s = page_address(page);
> ret = compress_page(compress, s, dst, false);
> - kunmap(page);
>
> drm_clflush_pages(&page, 1);
>
More information about the dri-devel
mailing list