From: Sasha Levin Date: Thu, 12 Sep 2019 22:50:04 +0000 (-0400) Subject: Drop drm-i915-userptr-acquire-the-page-lock-around-set_pa.patch X-Git-Tag: v4.4.193~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e985a9f288aba1b12585a350908e0513ea76c238;p=thirdparty%2Fkernel%2Fstable-queue.git Drop drm-i915-userptr-acquire-the-page-lock-around-set_pa.patch Signed-off-by: Sasha Levin --- diff --git a/queue-4.19/drm-i915-userptr-acquire-the-page-lock-around-set_pa.patch b/queue-4.19/drm-i915-userptr-acquire-the-page-lock-around-set_pa.patch deleted file mode 100644 index aff49b2eea5..00000000000 --- a/queue-4.19/drm-i915-userptr-acquire-the-page-lock-around-set_pa.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 07184c731f3c22337b17bfb0a0e8cc654a1d606b Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Mon, 8 Jul 2019 15:03:27 +0100 -Subject: drm/i915/userptr: Acquire the page lock around set_page_dirty() - -[ Upstream commit aa56a292ce623734ddd30f52d73f527d1f3529b5 ] - -set_page_dirty says: - - For pages with a mapping this should be done under the page lock - for the benefit of asynchronous memory errors who prefer a - consistent dirty state. This rule can be broken in some special - cases, but should be better not to. - -Under those rules, it is only safe for us to use the plain set_page_dirty -calls for shmemfs/anonymous memory. Userptr may be used with real -mappings and so needs to use the locked version (set_page_dirty_lock). - -Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=203317 -Fixes: 5cc9ed4b9a7a ("drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl") -References: 6dcc693bc57f ("ext4: warn when page is dirtied without buffers") -Signed-off-by: Chris Wilson -Cc: Tvrtko Ursulin -Cc: stable@vger.kernel.org -Reviewed-by: Tvrtko Ursulin -Link: https://patchwork.freedesktop.org/patch/msgid/20190708140327.26825-1-chris@chris-wilson.co.uk -(cherry picked from commit cb6d7c7dc7ff8cace666ddec66334117a6068ce2) -Signed-off-by: Jani Nikula -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/i915/i915_gem_userptr.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/i915/i915_gem_userptr.c b/drivers/gpu/drm/i915/i915_gem_userptr.c -index 2c9b284036d10..e13ea2ecd669c 100644 ---- a/drivers/gpu/drm/i915/i915_gem_userptr.c -+++ b/drivers/gpu/drm/i915/i915_gem_userptr.c -@@ -692,7 +692,15 @@ i915_gem_userptr_put_pages(struct drm_i915_gem_object *obj, - - for_each_sgt_page(page, sgt_iter, pages) { - if (obj->mm.dirty) -- set_page_dirty(page); -+ /* -+ * As this may not be anonymous memory (e.g. shmem) -+ * but exist on a real mapping, we have to lock -+ * the page in order to dirty it -- holding -+ * the page reference is not sufficient to -+ * prevent the inode from being truncated. -+ * Play safe and take the lock. -+ */ -+ set_page_dirty_lock(page); - - mark_page_accessed(page); - put_page(page); --- -2.20.1 - diff --git a/queue-4.19/series b/queue-4.19/series index 9a88c67769a..e1541381ff4 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -177,7 +177,6 @@ nfsv4-fix-delegation-state-recovery.patch bcache-only-clear-btree_node_dirty-bit-when-it-is-se.patch bcache-add-comments-for-mutex_lock-b-write_lock.patch bcache-fix-race-in-btree_flush_write.patch -drm-i915-userptr-acquire-the-page-lock-around-set_pa.patch drm-i915-make-sure-cdclk-is-high-enough-for-dp-audio.patch virtio-s390-fix-race-on-airq_areas.patch drm-atomic_helper-allow-dpms-on-off-changes-for-unre.patch diff --git a/queue-5.2/drm-i915-userptr-acquire-the-page-lock-around-set_pa.patch b/queue-5.2/drm-i915-userptr-acquire-the-page-lock-around-set_pa.patch deleted file mode 100644 index c8d79695ed1..00000000000 --- a/queue-5.2/drm-i915-userptr-acquire-the-page-lock-around-set_pa.patch +++ /dev/null @@ -1,57 +0,0 @@ -From b41ed2c47cbb5ae1172d46eff4f97133cfef02dd Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Mon, 8 Jul 2019 15:03:27 +0100 -Subject: drm/i915/userptr: Acquire the page lock around set_page_dirty() - -[ Upstream commit aa56a292ce623734ddd30f52d73f527d1f3529b5 ] - -set_page_dirty says: - - For pages with a mapping this should be done under the page lock - for the benefit of asynchronous memory errors who prefer a - consistent dirty state. This rule can be broken in some special - cases, but should be better not to. - -Under those rules, it is only safe for us to use the plain set_page_dirty -calls for shmemfs/anonymous memory. Userptr may be used with real -mappings and so needs to use the locked version (set_page_dirty_lock). - -Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=203317 -Fixes: 5cc9ed4b9a7a ("drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl") -References: 6dcc693bc57f ("ext4: warn when page is dirtied without buffers") -Signed-off-by: Chris Wilson -Cc: Tvrtko Ursulin -Cc: stable@vger.kernel.org -Reviewed-by: Tvrtko Ursulin -Link: https://patchwork.freedesktop.org/patch/msgid/20190708140327.26825-1-chris@chris-wilson.co.uk -(cherry picked from commit cb6d7c7dc7ff8cace666ddec66334117a6068ce2) -Signed-off-by: Jani Nikula -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/i915/i915_gem_userptr.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/i915/i915_gem_userptr.c b/drivers/gpu/drm/i915/i915_gem_userptr.c -index 8079ea3af1039..b1fc15c7f5997 100644 ---- a/drivers/gpu/drm/i915/i915_gem_userptr.c -+++ b/drivers/gpu/drm/i915/i915_gem_userptr.c -@@ -678,7 +678,15 @@ i915_gem_userptr_put_pages(struct drm_i915_gem_object *obj, - - for_each_sgt_page(page, sgt_iter, pages) { - if (obj->mm.dirty) -- set_page_dirty(page); -+ /* -+ * As this may not be anonymous memory (e.g. shmem) -+ * but exist on a real mapping, we have to lock -+ * the page in order to dirty it -- holding -+ * the page reference is not sufficient to -+ * prevent the inode from being truncated. -+ * Play safe and take the lock. -+ */ -+ set_page_dirty_lock(page); - - mark_page_accessed(page); - put_page(page); --- -2.20.1 - diff --git a/queue-5.2/series b/queue-5.2/series index 38b9e7fc78d..81c5e7ad9a9 100644 --- a/queue-5.2/series +++ b/queue-5.2/series @@ -22,7 +22,6 @@ ib-rdmavt-add-new-completion-inline.patch ib-rdmavt-qib-hfi1-convert-to-new-completion-api.patch ib-hfi1-unreserve-a-flushed-opfn-request.patch drm-i915-disable-sampler_state-prefetching-on-all-ge.patch -drm-i915-userptr-acquire-the-page-lock-around-set_pa.patch drm-i915-make-sure-cdclk-is-high-enough-for-dp-audio.patch mmc-sdhci-sprd-fix-the-incorrect-soft-reset-operatio.patch usb-chipidea-imx-add-imx7ulp-support.patch