linux/drivers/gpu/drm/i915/gem
Chris Wilson 0eb0feb9ae drm/i915/gem: Pull phys pread/pwrite implementations to the backend
Move the specialised interactions with the physical GEM object from the
pread/pwrite ioctl handler into the phys backend.

Currently, if one is able to exhaust the entire aperture and then try to
pwrite into an object not backed by struct page, we accidentally invoked
the phys pwrite handler on a non-phys object; calamitous.

Fixes: c6790dc223 ("drm/i915: Wean off drm_pci_alloc/drm_pci_free")
Testcase: igt/gem_pwrite/exhaustion
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Cc: stable@vger.kernel.org
Link: https://patchwork.freedesktop.org/patch/msgid/20201105154934.16022-2-chris@chris-wilson.co.uk
(cherry picked from commit 852e1b3644)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2020-11-12 19:47:30 -05:00
..
selftests drm-misc-next for 5.10: 2020-09-23 09:52:24 +10:00
i915_gem_busy.c
i915_gem_clflush.c
i915_gem_clflush.h
i915_gem_client_blt.c drm/i915: Convert i915_gem_object/client_blt.c to use ww locking as well, v2. 2020-09-07 14:31:22 +03:00
i915_gem_client_blt.h
i915_gem_context.c drm/i915/gem: Always test execution status on closing the context 2020-09-30 14:24:51 -04:00
i915_gem_context.h
i915_gem_context_types.h
i915_gem_dmabuf.c Merge branch 'for-5.10-drm-sg-fix' of https://github.com/mszyprow/linux into drm-next 2020-09-17 16:07:11 +10:00
i915_gem_domain.c drm/i915/gem: Flush coherency domains on first set-domain-ioctl 2020-11-03 19:14:03 -05:00
i915_gem_execbuffer.c drm/i915/gem: Support parsing of oversize batches 2020-10-19 13:29:50 -04:00
i915_gem_fence.c
i915_gem_internal.c
i915_gem_ioctls.h
i915_gem_lmem.c
i915_gem_lmem.h
i915_gem_mman.c Merge tag 'drm-intel-gt-next-2020-09-07' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2020-09-09 07:55:22 +10:00
i915_gem_mman.h
i915_gem_object.c
i915_gem_object.h Merge tag 'drm-intel-gt-next-2020-09-07' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2020-09-09 07:55:22 +10:00
i915_gem_object_blt.c drm/i915: Fix an error code i915_gem_object_copy_blt() 2020-09-30 14:24:28 -04:00
i915_gem_object_blt.h drm/i915: Convert i915_gem_object/client_blt.c to use ww locking as well, v2. 2020-09-07 14:31:22 +03:00
i915_gem_object_types.h drm/i915/gem: Allow backends to override pread implementation 2020-11-12 19:47:30 -05:00
i915_gem_pages.c drm/i915: use vmap in i915_gem_object_map 2020-10-18 09:27:10 -07:00
i915_gem_phys.c drm/i915/gem: Pull phys pread/pwrite implementations to the backend 2020-11-12 19:47:30 -05:00
i915_gem_pm.c
i915_gem_pm.h
i915_gem_region.c
i915_gem_region.h
i915_gem_shmem.c i915: use find_lock_page instead of find_lock_entry 2020-10-13 18:38:29 -07:00
i915_gem_shrinker.c
i915_gem_shrinker.h
i915_gem_stolen.c drm/i915: Exclude low pages (128KiB) of stolen from use 2020-10-21 08:32:28 -04:00
i915_gem_stolen.h drm/i915: Exclude low pages (128KiB) of stolen from use 2020-10-21 08:32:28 -04:00
i915_gem_throttle.c
i915_gem_tiling.c
i915_gem_userptr.c lib/scatterlist: Add support in dynamic allocation of SG table from pages 2020-10-05 20:45:45 -03:00
i915_gem_wait.c
i915_gemfs.c
i915_gemfs.h