]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gem: Pull phys pread/pwrite implementations to the backend
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 5 Nov 2020 15:49:34 +0000 (15:49 +0000)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Fri, 13 Nov 2020 00:47:30 +0000 (19:47 -0500)
commit648f33386ca0c7a37337348f49665530e1cd5b38
tree778c585077cd31fd5150a06dbc4b983d29541fbd
parent47ef1e1d0de8126a9e6b8b94ab3b945c16509466
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: beaf358b33a9 ("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 852e1b3644817f071427b83859b889c788a0cf69)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/i915/gem/i915_gem_phys.c
drivers/gpu/drm/i915/i915_gem.c