* [PATCH] drm/i915/gem: Safely acquire the ctx->vm when copying
@ 2019-11-06 9:13 ` Chris Wilson
0 siblings, 0 replies; 12+ messages in thread
From: Chris Wilson @ 2019-11-06 9:13 UTC (permalink / raw)
To: intel-gfx
As we read the ctx->vm unlocked before cloning/exporting, we should
validate our reference is correct before returning it. We already do for
clone_vm() but were not so strict around get_ppgtt().
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
drivers/gpu/drm/i915/gem/i915_gem_context.c | 80 +++++++++++----------
1 file changed, 43 insertions(+), 37 deletions(-)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
index de6e55af82cf..a06cc8e63281 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
@@ -995,6 +995,38 @@ static int context_barrier_task(struct i915_gem_context *ctx,
return err;
}
+static struct i915_address_space *
+context_get_vm_rcu(struct i915_gem_context *ctx)
+{
+ do {
+ struct i915_address_space *vm;
+
+ vm = rcu_dereference(ctx->vm);
+ if (!kref_get_unless_zero(&vm->ref))
+ continue;
+
+ /*
+ * This ppgtt may have be reallocated between
+ * the read and the kref, and reassigned to a third
+ * context. In order to avoid inadvertent sharing
+ * of this ppgtt with that third context (and not
+ * src), we have to confirm that we have the same
+ * ppgtt after passing through the strong memory
+ * barrier implied by a successful
+ * kref_get_unless_zero().
+ *
+ * Once we have acquired the current ppgtt of src,
+ * we no longer care if it is released from src, as
+ * it cannot be reallocated elsewhere.
+ */
+
+ if (vm == rcu_access_pointer(ctx->vm))
+ return rcu_pointer_handoff(vm);
+
+ i915_vm_put(vm);
+ } while (1);
+}
+
static int get_ppgtt(struct drm_i915_file_private *file_priv,
struct i915_gem_context *ctx,
struct drm_i915_gem_context_param *args)
@@ -1006,7 +1038,7 @@ static int get_ppgtt(struct drm_i915_file_private *file_priv,
return -ENODEV;
rcu_read_lock();
- vm = i915_vm_get(ctx->vm);
+ vm = context_get_vm_rcu(ctx);
rcu_read_unlock();
ret = mutex_lock_interruptible(&file_priv->vm_idr_lock);
@@ -2035,47 +2067,21 @@ static int clone_vm(struct i915_gem_context *dst,
struct i915_address_space *vm;
int err = 0;
- rcu_read_lock();
- do {
- vm = rcu_dereference(src->vm);
- if (!vm)
- break;
-
- if (!kref_get_unless_zero(&vm->ref))
- continue;
-
- /*
- * This ppgtt may have be reallocated between
- * the read and the kref, and reassigned to a third
- * context. In order to avoid inadvertent sharing
- * of this ppgtt with that third context (and not
- * src), we have to confirm that we have the same
- * ppgtt after passing through the strong memory
- * barrier implied by a successful
- * kref_get_unless_zero().
- *
- * Once we have acquired the current ppgtt of src,
- * we no longer care if it is released from src, as
- * it cannot be reallocated elsewhere.
- */
-
- if (vm == rcu_access_pointer(src->vm))
- break;
+ if (!rcu_access_pointer(src->vm))
+ return 0;
- i915_vm_put(vm);
- } while (1);
+ rcu_read_lock();
+ vm = context_get_vm_rcu(src);
rcu_read_unlock();
- if (vm) {
- if (!mutex_lock_interruptible(&dst->mutex)) {
- __assign_ppgtt(dst, vm);
- mutex_unlock(&dst->mutex);
- } else {
- err = -EINTR;
- }
- i915_vm_put(vm);
+ if (!mutex_lock_interruptible(&dst->mutex)) {
+ __assign_ppgtt(dst, vm);
+ mutex_unlock(&dst->mutex);
+ } else {
+ err = -EINTR;
}
+ i915_vm_put(vm);
return err;
}
--
2.24.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Intel-gfx] [PATCH] drm/i915/gem: Safely acquire the ctx->vm when copying
@ 2019-11-06 9:13 ` Chris Wilson
0 siblings, 0 replies; 12+ messages in thread
From: Chris Wilson @ 2019-11-06 9:13 UTC (permalink / raw)
To: intel-gfx
As we read the ctx->vm unlocked before cloning/exporting, we should
validate our reference is correct before returning it. We already do for
clone_vm() but were not so strict around get_ppgtt().
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
drivers/gpu/drm/i915/gem/i915_gem_context.c | 80 +++++++++++----------
1 file changed, 43 insertions(+), 37 deletions(-)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
index de6e55af82cf..a06cc8e63281 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
@@ -995,6 +995,38 @@ static int context_barrier_task(struct i915_gem_context *ctx,
return err;
}
+static struct i915_address_space *
+context_get_vm_rcu(struct i915_gem_context *ctx)
+{
+ do {
+ struct i915_address_space *vm;
+
+ vm = rcu_dereference(ctx->vm);
+ if (!kref_get_unless_zero(&vm->ref))
+ continue;
+
+ /*
+ * This ppgtt may have be reallocated between
+ * the read and the kref, and reassigned to a third
+ * context. In order to avoid inadvertent sharing
+ * of this ppgtt with that third context (and not
+ * src), we have to confirm that we have the same
+ * ppgtt after passing through the strong memory
+ * barrier implied by a successful
+ * kref_get_unless_zero().
+ *
+ * Once we have acquired the current ppgtt of src,
+ * we no longer care if it is released from src, as
+ * it cannot be reallocated elsewhere.
+ */
+
+ if (vm == rcu_access_pointer(ctx->vm))
+ return rcu_pointer_handoff(vm);
+
+ i915_vm_put(vm);
+ } while (1);
+}
+
static int get_ppgtt(struct drm_i915_file_private *file_priv,
struct i915_gem_context *ctx,
struct drm_i915_gem_context_param *args)
@@ -1006,7 +1038,7 @@ static int get_ppgtt(struct drm_i915_file_private *file_priv,
return -ENODEV;
rcu_read_lock();
- vm = i915_vm_get(ctx->vm);
+ vm = context_get_vm_rcu(ctx);
rcu_read_unlock();
ret = mutex_lock_interruptible(&file_priv->vm_idr_lock);
@@ -2035,47 +2067,21 @@ static int clone_vm(struct i915_gem_context *dst,
struct i915_address_space *vm;
int err = 0;
- rcu_read_lock();
- do {
- vm = rcu_dereference(src->vm);
- if (!vm)
- break;
-
- if (!kref_get_unless_zero(&vm->ref))
- continue;
-
- /*
- * This ppgtt may have be reallocated between
- * the read and the kref, and reassigned to a third
- * context. In order to avoid inadvertent sharing
- * of this ppgtt with that third context (and not
- * src), we have to confirm that we have the same
- * ppgtt after passing through the strong memory
- * barrier implied by a successful
- * kref_get_unless_zero().
- *
- * Once we have acquired the current ppgtt of src,
- * we no longer care if it is released from src, as
- * it cannot be reallocated elsewhere.
- */
-
- if (vm == rcu_access_pointer(src->vm))
- break;
+ if (!rcu_access_pointer(src->vm))
+ return 0;
- i915_vm_put(vm);
- } while (1);
+ rcu_read_lock();
+ vm = context_get_vm_rcu(src);
rcu_read_unlock();
- if (vm) {
- if (!mutex_lock_interruptible(&dst->mutex)) {
- __assign_ppgtt(dst, vm);
- mutex_unlock(&dst->mutex);
- } else {
- err = -EINTR;
- }
- i915_vm_put(vm);
+ if (!mutex_lock_interruptible(&dst->mutex)) {
+ __assign_ppgtt(dst, vm);
+ mutex_unlock(&dst->mutex);
+ } else {
+ err = -EINTR;
}
+ i915_vm_put(vm);
return err;
}
--
2.24.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 12+ messages in thread
* ✓ Fi.CI.BAT: success for drm/i915/gem: Safely acquire the ctx->vm when copying
@ 2019-11-06 11:20 ` Patchwork
0 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-11-06 11:20 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/gem: Safely acquire the ctx->vm when copying
URL : https://patchwork.freedesktop.org/series/69044/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_7266 -> Patchwork_15148
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/index.html
Known issues
------------
Here are the changes found in Patchwork_15148 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_flink_basic@bad-open:
- fi-icl-u3: [PASS][1] -> [DMESG-WARN][2] ([fdo#107724])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/fi-icl-u3/igt@gem_flink_basic@bad-open.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/fi-icl-u3/igt@gem_flink_basic@bad-open.html
#### Possible fixes ####
* igt@gem_flink_basic@double-flink:
- fi-icl-u3: [DMESG-WARN][3] ([fdo#107724]) -> [PASS][4] +1 similar issue
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/fi-icl-u3/igt@gem_flink_basic@double-flink.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/fi-icl-u3/igt@gem_flink_basic@double-flink.html
* igt@kms_frontbuffer_tracking@basic:
- {fi-icl-guc}: [FAIL][5] ([fdo#103167]) -> [PASS][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/fi-icl-guc/igt@kms_frontbuffer_tracking@basic.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/fi-icl-guc/igt@kms_frontbuffer_tracking@basic.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
Participating hosts (50 -> 42)
------------------------------
Missing (8): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-bwr-2160 fi-ctg-p8600 fi-gdg-551 fi-byt-clapper
Build changes
-------------
* CI: CI-20190529 -> None
* Linux: CI_DRM_7266 -> Patchwork_15148
CI-20190529: 20190529
CI_DRM_7266: 1476c64a0b4c7ee43e50f83ba1d6518e60211a36 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5263: 8a5d44dc5e51622cd43f23c2cf24d44c24a0564d @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_15148: 7ea9036094764c8f7ec10f7ae0d5e4c128a9ab97 @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
7ea903609476 drm/i915/gem: Safely acquire the ctx->vm when copying
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/gem: Safely acquire the ctx->vm when copying
@ 2019-11-06 11:20 ` Patchwork
0 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-11-06 11:20 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/gem: Safely acquire the ctx->vm when copying
URL : https://patchwork.freedesktop.org/series/69044/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_7266 -> Patchwork_15148
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/index.html
Known issues
------------
Here are the changes found in Patchwork_15148 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_flink_basic@bad-open:
- fi-icl-u3: [PASS][1] -> [DMESG-WARN][2] ([fdo#107724])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/fi-icl-u3/igt@gem_flink_basic@bad-open.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/fi-icl-u3/igt@gem_flink_basic@bad-open.html
#### Possible fixes ####
* igt@gem_flink_basic@double-flink:
- fi-icl-u3: [DMESG-WARN][3] ([fdo#107724]) -> [PASS][4] +1 similar issue
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/fi-icl-u3/igt@gem_flink_basic@double-flink.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/fi-icl-u3/igt@gem_flink_basic@double-flink.html
* igt@kms_frontbuffer_tracking@basic:
- {fi-icl-guc}: [FAIL][5] ([fdo#103167]) -> [PASS][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/fi-icl-guc/igt@kms_frontbuffer_tracking@basic.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/fi-icl-guc/igt@kms_frontbuffer_tracking@basic.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
Participating hosts (50 -> 42)
------------------------------
Missing (8): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-bwr-2160 fi-ctg-p8600 fi-gdg-551 fi-byt-clapper
Build changes
-------------
* CI: CI-20190529 -> None
* Linux: CI_DRM_7266 -> Patchwork_15148
CI-20190529: 20190529
CI_DRM_7266: 1476c64a0b4c7ee43e50f83ba1d6518e60211a36 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5263: 8a5d44dc5e51622cd43f23c2cf24d44c24a0564d @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_15148: 7ea9036094764c8f7ec10f7ae0d5e4c128a9ab97 @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
7ea903609476 drm/i915/gem: Safely acquire the ctx->vm when copying
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 12+ messages in thread
* ✓ Fi.CI.IGT: success for drm/i915/gem: Safely acquire the ctx->vm when copying
@ 2019-11-07 7:44 ` Patchwork
0 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-11-07 7:44 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/gem: Safely acquire the ctx->vm when copying
URL : https://patchwork.freedesktop.org/series/69044/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_7266_full -> Patchwork_15148_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Known issues
------------
Here are the changes found in Patchwork_15148_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_ctx_exec@basic-invalid-context-vcs1:
- shard-iclb: [PASS][1] -> [SKIP][2] ([fdo#112080]) +19 similar issues
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb1/igt@gem_ctx_exec@basic-invalid-context-vcs1.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb5/igt@gem_ctx_exec@basic-invalid-context-vcs1.html
* igt@gem_ctx_isolation@vcs1-dirty-create:
- shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#109276] / [fdo#112080]) +2 similar issues
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb4/igt@gem_ctx_isolation@vcs1-dirty-create.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb6/igt@gem_ctx_isolation@vcs1-dirty-create.html
* igt@gem_ctx_shared@exec-single-timeline-bsd:
- shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#110841])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb3/igt@gem_ctx_shared@exec-single-timeline-bsd.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb2/igt@gem_ctx_shared@exec-single-timeline-bsd.html
* igt@gem_exec_balancer@smoke:
- shard-iclb: [PASS][7] -> [SKIP][8] ([fdo#110854])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb2/igt@gem_exec_balancer@smoke.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb7/igt@gem_exec_balancer@smoke.html
* igt@gem_exec_schedule@preempt-other-chain-bsd:
- shard-iclb: [PASS][9] -> [SKIP][10] ([fdo#112146]) +8 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb8/igt@gem_exec_schedule@preempt-other-chain-bsd.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb1/igt@gem_exec_schedule@preempt-other-chain-bsd.html
* igt@gem_softpin@noreloc-s3:
- shard-apl: [PASS][11] -> [DMESG-WARN][12] ([fdo#108566]) +1 similar issue
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-apl8/igt@gem_softpin@noreloc-s3.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-apl6/igt@gem_softpin@noreloc-s3.html
* igt@gem_userptr_blits@sync-unmap:
- shard-snb: [PASS][13] -> [DMESG-WARN][14] ([fdo#111870])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-snb5/igt@gem_userptr_blits@sync-unmap.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-snb1/igt@gem_userptr_blits@sync-unmap.html
* igt@i915_pm_rc6_residency@rc6-accuracy:
- shard-kbl: [PASS][15] -> [SKIP][16] ([fdo#109271])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-kbl6/igt@i915_pm_rc6_residency@rc6-accuracy.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-kbl3/igt@i915_pm_rc6_residency@rc6-accuracy.html
* igt@kms_color@pipe-a-ctm-0-75:
- shard-skl: [PASS][17] -> [DMESG-WARN][18] ([fdo#106107])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-skl8/igt@kms_color@pipe-a-ctm-0-75.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-skl3/igt@kms_color@pipe-a-ctm-0-75.html
* igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
- shard-glk: [PASS][19] -> [FAIL][20] ([fdo#104873])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-glk9/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-glk9/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
* igt@kms_draw_crc@draw-method-rgb565-blt-xtiled:
- shard-skl: [PASS][21] -> [FAIL][22] ([fdo#103184] / [fdo#103232])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-skl7/igt@kms_draw_crc@draw-method-rgb565-blt-xtiled.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-skl7/igt@kms_draw_crc@draw-method-rgb565-blt-xtiled.html
* igt@kms_flip@flip-vs-expired-vblank:
- shard-skl: [PASS][23] -> [FAIL][24] ([fdo#105363])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-skl5/igt@kms_flip@flip-vs-expired-vblank.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-skl8/igt@kms_flip@flip-vs-expired-vblank.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-kbl: [PASS][25] -> [DMESG-WARN][26] ([fdo#108566]) +3 similar issues
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-kbl2/igt@kms_flip@flip-vs-suspend-interruptible.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-kbl4/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt:
- shard-iclb: [PASS][27] -> [FAIL][28] ([fdo#103167]) +6 similar issues
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt.html
* igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
- shard-skl: [PASS][29] -> [FAIL][30] ([fdo#108145] / [fdo#110403])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-skl3/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-skl4/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
* igt@kms_psr@psr2_sprite_mmap_gtt:
- shard-iclb: [PASS][31] -> [SKIP][32] ([fdo#109441]) +1 similar issue
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb6/igt@kms_psr@psr2_sprite_mmap_gtt.html
* igt@prime_vgem@fence-wait-bsd2:
- shard-iclb: [PASS][33] -> [SKIP][34] ([fdo#109276]) +24 similar issues
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb1/igt@prime_vgem@fence-wait-bsd2.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb6/igt@prime_vgem@fence-wait-bsd2.html
#### Possible fixes ####
* igt@gem_ctx_isolation@vcs1-none:
- shard-iclb: [SKIP][35] ([fdo#109276] / [fdo#112080]) -> [PASS][36] +3 similar issues
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb6/igt@gem_ctx_isolation@vcs1-none.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb1/igt@gem_ctx_isolation@vcs1-none.html
* igt@gem_ctx_isolation@vcs1-s3:
- {shard-tglb}: [INCOMPLETE][37] ([fdo#111832]) -> [PASS][38] +1 similar issue
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-tglb4/igt@gem_ctx_isolation@vcs1-s3.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-tglb7/igt@gem_ctx_isolation@vcs1-s3.html
* igt@gem_ctx_switch@queue-heavy:
- {shard-tglb}: [INCOMPLETE][39] ([fdo#111747]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-tglb6/igt@gem_ctx_switch@queue-heavy.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-tglb6/igt@gem_ctx_switch@queue-heavy.html
* igt@gem_exec_async@concurrent-writes-bsd:
- shard-iclb: [SKIP][41] ([fdo#112146]) -> [PASS][42] +2 similar issues
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb2/igt@gem_exec_async@concurrent-writes-bsd.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb7/igt@gem_exec_async@concurrent-writes-bsd.html
* igt@gem_exec_schedule@independent-bsd2:
- shard-iclb: [SKIP][43] ([fdo#109276]) -> [PASS][44] +21 similar issues
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb5/igt@gem_exec_schedule@independent-bsd2.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb4/igt@gem_exec_schedule@independent-bsd2.html
* igt@gem_exec_schedule@smoketest-all:
- {shard-tglb}: [INCOMPLETE][45] ([fdo#111855]) -> [PASS][46]
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-tglb6/igt@gem_exec_schedule@smoketest-all.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-tglb1/igt@gem_exec_schedule@smoketest-all.html
* igt@gem_persistent_relocs@forked-interruptible-thrashing:
- shard-kbl: [FAIL][47] ([fdo#112037]) -> [PASS][48]
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-kbl6/igt@gem_persistent_relocs@forked-interruptible-thrashing.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-kbl6/igt@gem_persistent_relocs@forked-interruptible-thrashing.html
* igt@gem_persistent_relocs@forked-thrashing:
- shard-snb: [FAIL][49] ([fdo#112037]) -> [PASS][50]
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-snb1/igt@gem_persistent_relocs@forked-thrashing.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-snb6/igt@gem_persistent_relocs@forked-thrashing.html
* igt@gem_userptr_blits@map-fixed-invalidate-busy:
- shard-snb: [DMESG-WARN][51] ([fdo#111870]) -> [PASS][52]
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-snb2/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-snb7/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
- shard-hsw: [DMESG-WARN][53] ([fdo#111870]) -> [PASS][54]
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-hsw4/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-hsw8/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
* igt@i915_selftest@mock_requests:
- shard-skl: [INCOMPLETE][55] ([fdo#108972]) -> [PASS][56]
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-skl1/igt@i915_selftest@mock_requests.html
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-skl2/igt@i915_selftest@mock_requests.html
* igt@kms_cursor_crc@pipe-a-cursor-suspend:
- shard-kbl: [DMESG-WARN][57] ([fdo#108566]) -> [PASS][58] +10 similar issues
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-kbl2/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-kbl3/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
* igt@kms_flip@2x-blocking-wf_vblank:
- shard-hsw: [INCOMPLETE][59] ([fdo#103540]) -> [PASS][60]
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-hsw2/igt@kms_flip@2x-blocking-wf_vblank.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-hsw1/igt@kms_flip@2x-blocking-wf_vblank.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-skl: [INCOMPLETE][61] ([fdo#109507]) -> [PASS][62]
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-skl9/igt@kms_flip@flip-vs-suspend-interruptible.html
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-skl5/igt@kms_flip@flip-vs-suspend-interruptible.html
- shard-apl: [DMESG-WARN][63] ([fdo#108566]) -> [PASS][64] +3 similar issues
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-apl4/igt@kms_flip@flip-vs-suspend-interruptible.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-apl3/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-render:
- shard-iclb: [FAIL][65] ([fdo#103167]) -> [PASS][66] +4 similar issues
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-render.html
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb1/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite:
- {shard-tglb}: [FAIL][67] ([fdo#103167]) -> [PASS][68] +2 similar issues
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-tglb3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html
* igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min:
- shard-skl: [FAIL][69] ([fdo#108145]) -> [PASS][70]
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-skl10/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-skl5/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html
* igt@kms_psr2_su@page_flip:
- shard-iclb: [SKIP][71] ([fdo#109642] / [fdo#111068]) -> [PASS][72]
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb3/igt@kms_psr2_su@page_flip.html
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb2/igt@kms_psr2_su@page_flip.html
* igt@kms_psr@psr2_cursor_plane_move:
- shard-iclb: [SKIP][73] ([fdo#109441]) -> [PASS][74] +2 similar issues
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb1/igt@kms_psr@psr2_cursor_plane_move.html
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb2/igt@kms_psr@psr2_cursor_plane_move.html
* igt@kms_psr@suspend:
- {shard-tglb}: [INCOMPLETE][75] ([fdo#111832] / [fdo#111850]) -> [PASS][76] +3 similar issues
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-tglb2/igt@kms_psr@suspend.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-tglb6/igt@kms_psr@suspend.html
* igt@kms_setmode@basic:
- shard-skl: [FAIL][77] ([fdo#99912]) -> [PASS][78]
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-skl8/igt@kms_setmode@basic.html
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-skl3/igt@kms_setmode@basic.html
- shard-kbl: [FAIL][79] ([fdo#99912]) -> [PASS][80]
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-kbl3/igt@kms_setmode@basic.html
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-kbl7/igt@kms_setmode@basic.html
* igt@perf_pmu@init-busy-vcs1:
- shard-iclb: [SKIP][81] ([fdo#112080]) -> [PASS][82] +17 similar issues
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb5/igt@perf_pmu@init-busy-vcs1.html
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb4/igt@perf_pmu@init-busy-vcs1.html
#### Warnings ####
* igt@gem_ctx_isolation@vcs1-nonpriv:
- shard-iclb: [FAIL][83] ([fdo#111329]) -> [SKIP][84] ([fdo#109276] / [fdo#112080])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb4/igt@gem_ctx_isolation@vcs1-nonpriv.html
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb6/igt@gem_ctx_isolation@vcs1-nonpriv.html
* igt@gem_mocs_settings@mocs-rc6-bsd2:
- shard-iclb: [FAIL][85] ([fdo#111330]) -> [SKIP][86] ([fdo#109276])
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb2/igt@gem_mocs_settings@mocs-rc6-bsd2.html
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb5/igt@gem_mocs_settings@mocs-rc6-bsd2.html
* igt@gem_mocs_settings@mocs-settings-bsd2:
- shard-iclb: [SKIP][87] ([fdo#109276]) -> [FAIL][88] ([fdo#111330])
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb5/igt@gem_mocs_settings@mocs-settings-bsd2.html
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb4/igt@gem_mocs_settings@mocs-settings-bsd2.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103184]: https://bugs.freedesktop.org/show_bug.cgi?id=103184
[fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
[fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
[fdo#104873]: https://bugs.freedesktop.org/show_bug.cgi?id=104873
[fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
[fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
[fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
[fdo#108972]: https://bugs.freedesktop.org/show_bug.cgi?id=108972
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109507]: https://bugs.freedesktop.org/show_bug.cgi?id=109507
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#110403]: https://bugs.freedesktop.org/show_bug.cgi?id=110403
[fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
[fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111329]: https://bugs.freedesktop.org/show_bug.cgi?id=111329
[fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330
[fdo#111593]: https://bugs.freedesktop.org/show_bug.cgi?id=111593
[fdo#111606]: https://bugs.freedesktop.org/show_bug.cgi?id=111606
[fdo#111677]: https://bugs.freedesktop.org/show_bug.cgi?id=111677
[fdo#111747]: https://bugs.freedesktop.org/show_bug.cgi?id=111747
[fdo#111781]: https://bugs.freedesktop.org/show_bug.cgi?id=111781
[fdo#111830 ]: https://bugs.freedesktop.org/show_bug.cgi?id=111830
[fdo#111832]: https://bugs.freedesktop.org/show_bug.cgi?id=111832
[fdo#111850]: https://bugs.freedesktop.org/show_bug.cgi?id=111850
[fdo#111855]: https://bugs.freedesktop.org/show_bug.cgi?id=111855
[fdo#111865]: https://bugs.freedesktop.org/show_bug.cgi?id=111865
[fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
[fdo#112037]: https://bugs.freedesktop.org/show_bug.cgi?id=112037
[fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
[fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
[fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
Participating hosts (11 -> 11)
------------------------------
No changes in participating hosts
Build changes
-------------
* CI: CI-20190529 -> None
* Linux: CI_DRM_7266 -> Patchwork_15148
CI-20190529: 20190529
CI_DRM_7266: 1476c64a0b4c7ee43e50f83ba1d6518e60211a36 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5263: 8a5d44dc5e51622cd43f23c2cf24d44c24a0564d @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_15148: 7ea9036094764c8f7ec10f7ae0d5e4c128a9ab97 @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/gem: Safely acquire the ctx->vm when copying
@ 2019-11-07 7:44 ` Patchwork
0 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-11-07 7:44 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/gem: Safely acquire the ctx->vm when copying
URL : https://patchwork.freedesktop.org/series/69044/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_7266_full -> Patchwork_15148_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Known issues
------------
Here are the changes found in Patchwork_15148_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_ctx_exec@basic-invalid-context-vcs1:
- shard-iclb: [PASS][1] -> [SKIP][2] ([fdo#112080]) +19 similar issues
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb1/igt@gem_ctx_exec@basic-invalid-context-vcs1.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb5/igt@gem_ctx_exec@basic-invalid-context-vcs1.html
* igt@gem_ctx_isolation@vcs1-dirty-create:
- shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#109276] / [fdo#112080]) +2 similar issues
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb4/igt@gem_ctx_isolation@vcs1-dirty-create.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb6/igt@gem_ctx_isolation@vcs1-dirty-create.html
* igt@gem_ctx_shared@exec-single-timeline-bsd:
- shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#110841])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb3/igt@gem_ctx_shared@exec-single-timeline-bsd.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb2/igt@gem_ctx_shared@exec-single-timeline-bsd.html
* igt@gem_exec_balancer@smoke:
- shard-iclb: [PASS][7] -> [SKIP][8] ([fdo#110854])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb2/igt@gem_exec_balancer@smoke.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb7/igt@gem_exec_balancer@smoke.html
* igt@gem_exec_schedule@preempt-other-chain-bsd:
- shard-iclb: [PASS][9] -> [SKIP][10] ([fdo#112146]) +8 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb8/igt@gem_exec_schedule@preempt-other-chain-bsd.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb1/igt@gem_exec_schedule@preempt-other-chain-bsd.html
* igt@gem_softpin@noreloc-s3:
- shard-apl: [PASS][11] -> [DMESG-WARN][12] ([fdo#108566]) +1 similar issue
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-apl8/igt@gem_softpin@noreloc-s3.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-apl6/igt@gem_softpin@noreloc-s3.html
* igt@gem_userptr_blits@sync-unmap:
- shard-snb: [PASS][13] -> [DMESG-WARN][14] ([fdo#111870])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-snb5/igt@gem_userptr_blits@sync-unmap.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-snb1/igt@gem_userptr_blits@sync-unmap.html
* igt@i915_pm_rc6_residency@rc6-accuracy:
- shard-kbl: [PASS][15] -> [SKIP][16] ([fdo#109271])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-kbl6/igt@i915_pm_rc6_residency@rc6-accuracy.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-kbl3/igt@i915_pm_rc6_residency@rc6-accuracy.html
* igt@kms_color@pipe-a-ctm-0-75:
- shard-skl: [PASS][17] -> [DMESG-WARN][18] ([fdo#106107])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-skl8/igt@kms_color@pipe-a-ctm-0-75.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-skl3/igt@kms_color@pipe-a-ctm-0-75.html
* igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
- shard-glk: [PASS][19] -> [FAIL][20] ([fdo#104873])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-glk9/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-glk9/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
* igt@kms_draw_crc@draw-method-rgb565-blt-xtiled:
- shard-skl: [PASS][21] -> [FAIL][22] ([fdo#103184] / [fdo#103232])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-skl7/igt@kms_draw_crc@draw-method-rgb565-blt-xtiled.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-skl7/igt@kms_draw_crc@draw-method-rgb565-blt-xtiled.html
* igt@kms_flip@flip-vs-expired-vblank:
- shard-skl: [PASS][23] -> [FAIL][24] ([fdo#105363])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-skl5/igt@kms_flip@flip-vs-expired-vblank.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-skl8/igt@kms_flip@flip-vs-expired-vblank.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-kbl: [PASS][25] -> [DMESG-WARN][26] ([fdo#108566]) +3 similar issues
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-kbl2/igt@kms_flip@flip-vs-suspend-interruptible.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-kbl4/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt:
- shard-iclb: [PASS][27] -> [FAIL][28] ([fdo#103167]) +6 similar issues
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt.html
* igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
- shard-skl: [PASS][29] -> [FAIL][30] ([fdo#108145] / [fdo#110403])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-skl3/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-skl4/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
* igt@kms_psr@psr2_sprite_mmap_gtt:
- shard-iclb: [PASS][31] -> [SKIP][32] ([fdo#109441]) +1 similar issue
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb6/igt@kms_psr@psr2_sprite_mmap_gtt.html
* igt@prime_vgem@fence-wait-bsd2:
- shard-iclb: [PASS][33] -> [SKIP][34] ([fdo#109276]) +24 similar issues
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb1/igt@prime_vgem@fence-wait-bsd2.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb6/igt@prime_vgem@fence-wait-bsd2.html
#### Possible fixes ####
* igt@gem_ctx_isolation@vcs1-none:
- shard-iclb: [SKIP][35] ([fdo#109276] / [fdo#112080]) -> [PASS][36] +3 similar issues
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb6/igt@gem_ctx_isolation@vcs1-none.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb1/igt@gem_ctx_isolation@vcs1-none.html
* igt@gem_ctx_isolation@vcs1-s3:
- {shard-tglb}: [INCOMPLETE][37] ([fdo#111832]) -> [PASS][38] +1 similar issue
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-tglb4/igt@gem_ctx_isolation@vcs1-s3.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-tglb7/igt@gem_ctx_isolation@vcs1-s3.html
* igt@gem_ctx_switch@queue-heavy:
- {shard-tglb}: [INCOMPLETE][39] ([fdo#111747]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-tglb6/igt@gem_ctx_switch@queue-heavy.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-tglb6/igt@gem_ctx_switch@queue-heavy.html
* igt@gem_exec_async@concurrent-writes-bsd:
- shard-iclb: [SKIP][41] ([fdo#112146]) -> [PASS][42] +2 similar issues
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb2/igt@gem_exec_async@concurrent-writes-bsd.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb7/igt@gem_exec_async@concurrent-writes-bsd.html
* igt@gem_exec_schedule@independent-bsd2:
- shard-iclb: [SKIP][43] ([fdo#109276]) -> [PASS][44] +21 similar issues
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb5/igt@gem_exec_schedule@independent-bsd2.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb4/igt@gem_exec_schedule@independent-bsd2.html
* igt@gem_exec_schedule@smoketest-all:
- {shard-tglb}: [INCOMPLETE][45] ([fdo#111855]) -> [PASS][46]
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-tglb6/igt@gem_exec_schedule@smoketest-all.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-tglb1/igt@gem_exec_schedule@smoketest-all.html
* igt@gem_persistent_relocs@forked-interruptible-thrashing:
- shard-kbl: [FAIL][47] ([fdo#112037]) -> [PASS][48]
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-kbl6/igt@gem_persistent_relocs@forked-interruptible-thrashing.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-kbl6/igt@gem_persistent_relocs@forked-interruptible-thrashing.html
* igt@gem_persistent_relocs@forked-thrashing:
- shard-snb: [FAIL][49] ([fdo#112037]) -> [PASS][50]
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-snb1/igt@gem_persistent_relocs@forked-thrashing.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-snb6/igt@gem_persistent_relocs@forked-thrashing.html
* igt@gem_userptr_blits@map-fixed-invalidate-busy:
- shard-snb: [DMESG-WARN][51] ([fdo#111870]) -> [PASS][52]
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-snb2/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-snb7/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
- shard-hsw: [DMESG-WARN][53] ([fdo#111870]) -> [PASS][54]
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-hsw4/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-hsw8/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
* igt@i915_selftest@mock_requests:
- shard-skl: [INCOMPLETE][55] ([fdo#108972]) -> [PASS][56]
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-skl1/igt@i915_selftest@mock_requests.html
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-skl2/igt@i915_selftest@mock_requests.html
* igt@kms_cursor_crc@pipe-a-cursor-suspend:
- shard-kbl: [DMESG-WARN][57] ([fdo#108566]) -> [PASS][58] +10 similar issues
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-kbl2/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-kbl3/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
* igt@kms_flip@2x-blocking-wf_vblank:
- shard-hsw: [INCOMPLETE][59] ([fdo#103540]) -> [PASS][60]
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-hsw2/igt@kms_flip@2x-blocking-wf_vblank.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-hsw1/igt@kms_flip@2x-blocking-wf_vblank.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-skl: [INCOMPLETE][61] ([fdo#109507]) -> [PASS][62]
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-skl9/igt@kms_flip@flip-vs-suspend-interruptible.html
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-skl5/igt@kms_flip@flip-vs-suspend-interruptible.html
- shard-apl: [DMESG-WARN][63] ([fdo#108566]) -> [PASS][64] +3 similar issues
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-apl4/igt@kms_flip@flip-vs-suspend-interruptible.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-apl3/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-render:
- shard-iclb: [FAIL][65] ([fdo#103167]) -> [PASS][66] +4 similar issues
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-render.html
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb1/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite:
- {shard-tglb}: [FAIL][67] ([fdo#103167]) -> [PASS][68] +2 similar issues
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-tglb3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html
* igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min:
- shard-skl: [FAIL][69] ([fdo#108145]) -> [PASS][70]
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-skl10/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-skl5/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html
* igt@kms_psr2_su@page_flip:
- shard-iclb: [SKIP][71] ([fdo#109642] / [fdo#111068]) -> [PASS][72]
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb3/igt@kms_psr2_su@page_flip.html
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb2/igt@kms_psr2_su@page_flip.html
* igt@kms_psr@psr2_cursor_plane_move:
- shard-iclb: [SKIP][73] ([fdo#109441]) -> [PASS][74] +2 similar issues
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb1/igt@kms_psr@psr2_cursor_plane_move.html
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb2/igt@kms_psr@psr2_cursor_plane_move.html
* igt@kms_psr@suspend:
- {shard-tglb}: [INCOMPLETE][75] ([fdo#111832] / [fdo#111850]) -> [PASS][76] +3 similar issues
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-tglb2/igt@kms_psr@suspend.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-tglb6/igt@kms_psr@suspend.html
* igt@kms_setmode@basic:
- shard-skl: [FAIL][77] ([fdo#99912]) -> [PASS][78]
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-skl8/igt@kms_setmode@basic.html
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-skl3/igt@kms_setmode@basic.html
- shard-kbl: [FAIL][79] ([fdo#99912]) -> [PASS][80]
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-kbl3/igt@kms_setmode@basic.html
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-kbl7/igt@kms_setmode@basic.html
* igt@perf_pmu@init-busy-vcs1:
- shard-iclb: [SKIP][81] ([fdo#112080]) -> [PASS][82] +17 similar issues
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb5/igt@perf_pmu@init-busy-vcs1.html
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb4/igt@perf_pmu@init-busy-vcs1.html
#### Warnings ####
* igt@gem_ctx_isolation@vcs1-nonpriv:
- shard-iclb: [FAIL][83] ([fdo#111329]) -> [SKIP][84] ([fdo#109276] / [fdo#112080])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb4/igt@gem_ctx_isolation@vcs1-nonpriv.html
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb6/igt@gem_ctx_isolation@vcs1-nonpriv.html
* igt@gem_mocs_settings@mocs-rc6-bsd2:
- shard-iclb: [FAIL][85] ([fdo#111330]) -> [SKIP][86] ([fdo#109276])
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb2/igt@gem_mocs_settings@mocs-rc6-bsd2.html
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb5/igt@gem_mocs_settings@mocs-rc6-bsd2.html
* igt@gem_mocs_settings@mocs-settings-bsd2:
- shard-iclb: [SKIP][87] ([fdo#109276]) -> [FAIL][88] ([fdo#111330])
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7266/shard-iclb5/igt@gem_mocs_settings@mocs-settings-bsd2.html
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/shard-iclb4/igt@gem_mocs_settings@mocs-settings-bsd2.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103184]: https://bugs.freedesktop.org/show_bug.cgi?id=103184
[fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
[fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
[fdo#104873]: https://bugs.freedesktop.org/show_bug.cgi?id=104873
[fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
[fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
[fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
[fdo#108972]: https://bugs.freedesktop.org/show_bug.cgi?id=108972
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109507]: https://bugs.freedesktop.org/show_bug.cgi?id=109507
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#110403]: https://bugs.freedesktop.org/show_bug.cgi?id=110403
[fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
[fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111329]: https://bugs.freedesktop.org/show_bug.cgi?id=111329
[fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330
[fdo#111593]: https://bugs.freedesktop.org/show_bug.cgi?id=111593
[fdo#111606]: https://bugs.freedesktop.org/show_bug.cgi?id=111606
[fdo#111677]: https://bugs.freedesktop.org/show_bug.cgi?id=111677
[fdo#111747]: https://bugs.freedesktop.org/show_bug.cgi?id=111747
[fdo#111781]: https://bugs.freedesktop.org/show_bug.cgi?id=111781
[fdo#111830 ]: https://bugs.freedesktop.org/show_bug.cgi?id=111830
[fdo#111832]: https://bugs.freedesktop.org/show_bug.cgi?id=111832
[fdo#111850]: https://bugs.freedesktop.org/show_bug.cgi?id=111850
[fdo#111855]: https://bugs.freedesktop.org/show_bug.cgi?id=111855
[fdo#111865]: https://bugs.freedesktop.org/show_bug.cgi?id=111865
[fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
[fdo#112037]: https://bugs.freedesktop.org/show_bug.cgi?id=112037
[fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
[fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
[fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
Participating hosts (11 -> 11)
------------------------------
No changes in participating hosts
Build changes
-------------
* CI: CI-20190529 -> None
* Linux: CI_DRM_7266 -> Patchwork_15148
CI-20190529: 20190529
CI_DRM_7266: 1476c64a0b4c7ee43e50f83ba1d6518e60211a36 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5263: 8a5d44dc5e51622cd43f23c2cf24d44c24a0564d @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_15148: 7ea9036094764c8f7ec10f7ae0d5e4c128a9ab97 @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15148/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] drm/i915/gem: Safely acquire the ctx->vm when copying
@ 2019-11-07 16:09 ` Niranjan Vishwanathapura
0 siblings, 0 replies; 12+ messages in thread
From: Niranjan Vishwanathapura @ 2019-11-07 16:09 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
On Wed, Nov 06, 2019 at 09:13:12AM +0000, Chris Wilson wrote:
>As we read the ctx->vm unlocked before cloning/exporting, we should
>validate our reference is correct before returning it. We already do for
>clone_vm() but were not so strict around get_ppgtt().
>
>Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>---
> drivers/gpu/drm/i915/gem/i915_gem_context.c | 80 +++++++++++----------
> 1 file changed, 43 insertions(+), 37 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
>index de6e55af82cf..a06cc8e63281 100644
>--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
>+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
>@@ -995,6 +995,38 @@ static int context_barrier_task(struct i915_gem_context *ctx,
> return err;
> }
>
>+static struct i915_address_space *
>+context_get_vm_rcu(struct i915_gem_context *ctx)
>+{
>+ do {
>+ struct i915_address_space *vm;
>+
>+ vm = rcu_dereference(ctx->vm);
>+ if (!kref_get_unless_zero(&vm->ref))
>+ continue;
But should we check for NULL vm?
I know the callers are ensuring ctx->vm will not be NULL, but just wondering.
>+
>+ /*
>+ * This ppgtt may have be reallocated between
>+ * the read and the kref, and reassigned to a third
>+ * context. In order to avoid inadvertent sharing
>+ * of this ppgtt with that third context (and not
>+ * src), we have to confirm that we have the same
>+ * ppgtt after passing through the strong memory
>+ * barrier implied by a successful
>+ * kref_get_unless_zero().
>+ *
>+ * Once we have acquired the current ppgtt of src,
>+ * we no longer care if it is released from src, as
>+ * it cannot be reallocated elsewhere.
>+ */
Comment should be made generic? It is too specific to cloning case.
Other than that, patch looks good to me.
Reviewed-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
>+
>+ if (vm == rcu_access_pointer(ctx->vm))
>+ return rcu_pointer_handoff(vm);
>+
>+ i915_vm_put(vm);
>+ } while (1);
>+}
>+
> static int get_ppgtt(struct drm_i915_file_private *file_priv,
> struct i915_gem_context *ctx,
> struct drm_i915_gem_context_param *args)
>@@ -1006,7 +1038,7 @@ static int get_ppgtt(struct drm_i915_file_private *file_priv,
> return -ENODEV;
>
> rcu_read_lock();
>- vm = i915_vm_get(ctx->vm);
>+ vm = context_get_vm_rcu(ctx);
> rcu_read_unlock();
>
> ret = mutex_lock_interruptible(&file_priv->vm_idr_lock);
>@@ -2035,47 +2067,21 @@ static int clone_vm(struct i915_gem_context *dst,
> struct i915_address_space *vm;
> int err = 0;
>
>- rcu_read_lock();
>- do {
>- vm = rcu_dereference(src->vm);
>- if (!vm)
>- break;
>-
>- if (!kref_get_unless_zero(&vm->ref))
>- continue;
>-
>- /*
>- * This ppgtt may have be reallocated between
>- * the read and the kref, and reassigned to a third
>- * context. In order to avoid inadvertent sharing
>- * of this ppgtt with that third context (and not
>- * src), we have to confirm that we have the same
>- * ppgtt after passing through the strong memory
>- * barrier implied by a successful
>- * kref_get_unless_zero().
>- *
>- * Once we have acquired the current ppgtt of src,
>- * we no longer care if it is released from src, as
>- * it cannot be reallocated elsewhere.
>- */
>-
>- if (vm == rcu_access_pointer(src->vm))
>- break;
>+ if (!rcu_access_pointer(src->vm))
>+ return 0;
>
>- i915_vm_put(vm);
>- } while (1);
>+ rcu_read_lock();
>+ vm = context_get_vm_rcu(src);
> rcu_read_unlock();
>
>- if (vm) {
>- if (!mutex_lock_interruptible(&dst->mutex)) {
>- __assign_ppgtt(dst, vm);
>- mutex_unlock(&dst->mutex);
>- } else {
>- err = -EINTR;
>- }
>- i915_vm_put(vm);
>+ if (!mutex_lock_interruptible(&dst->mutex)) {
>+ __assign_ppgtt(dst, vm);
>+ mutex_unlock(&dst->mutex);
>+ } else {
>+ err = -EINTR;
> }
>
>+ i915_vm_put(vm);
> return err;
> }
>
>--
>2.24.0
>
>_______________________________________________
>Intel-gfx mailing list
>Intel-gfx@lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/gem: Safely acquire the ctx->vm when copying
@ 2019-11-07 16:09 ` Niranjan Vishwanathapura
0 siblings, 0 replies; 12+ messages in thread
From: Niranjan Vishwanathapura @ 2019-11-07 16:09 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
On Wed, Nov 06, 2019 at 09:13:12AM +0000, Chris Wilson wrote:
>As we read the ctx->vm unlocked before cloning/exporting, we should
>validate our reference is correct before returning it. We already do for
>clone_vm() but were not so strict around get_ppgtt().
>
>Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>---
> drivers/gpu/drm/i915/gem/i915_gem_context.c | 80 +++++++++++----------
> 1 file changed, 43 insertions(+), 37 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
>index de6e55af82cf..a06cc8e63281 100644
>--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
>+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
>@@ -995,6 +995,38 @@ static int context_barrier_task(struct i915_gem_context *ctx,
> return err;
> }
>
>+static struct i915_address_space *
>+context_get_vm_rcu(struct i915_gem_context *ctx)
>+{
>+ do {
>+ struct i915_address_space *vm;
>+
>+ vm = rcu_dereference(ctx->vm);
>+ if (!kref_get_unless_zero(&vm->ref))
>+ continue;
But should we check for NULL vm?
I know the callers are ensuring ctx->vm will not be NULL, but just wondering.
>+
>+ /*
>+ * This ppgtt may have be reallocated between
>+ * the read and the kref, and reassigned to a third
>+ * context. In order to avoid inadvertent sharing
>+ * of this ppgtt with that third context (and not
>+ * src), we have to confirm that we have the same
>+ * ppgtt after passing through the strong memory
>+ * barrier implied by a successful
>+ * kref_get_unless_zero().
>+ *
>+ * Once we have acquired the current ppgtt of src,
>+ * we no longer care if it is released from src, as
>+ * it cannot be reallocated elsewhere.
>+ */
Comment should be made generic? It is too specific to cloning case.
Other than that, patch looks good to me.
Reviewed-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
>+
>+ if (vm == rcu_access_pointer(ctx->vm))
>+ return rcu_pointer_handoff(vm);
>+
>+ i915_vm_put(vm);
>+ } while (1);
>+}
>+
> static int get_ppgtt(struct drm_i915_file_private *file_priv,
> struct i915_gem_context *ctx,
> struct drm_i915_gem_context_param *args)
>@@ -1006,7 +1038,7 @@ static int get_ppgtt(struct drm_i915_file_private *file_priv,
> return -ENODEV;
>
> rcu_read_lock();
>- vm = i915_vm_get(ctx->vm);
>+ vm = context_get_vm_rcu(ctx);
> rcu_read_unlock();
>
> ret = mutex_lock_interruptible(&file_priv->vm_idr_lock);
>@@ -2035,47 +2067,21 @@ static int clone_vm(struct i915_gem_context *dst,
> struct i915_address_space *vm;
> int err = 0;
>
>- rcu_read_lock();
>- do {
>- vm = rcu_dereference(src->vm);
>- if (!vm)
>- break;
>-
>- if (!kref_get_unless_zero(&vm->ref))
>- continue;
>-
>- /*
>- * This ppgtt may have be reallocated between
>- * the read and the kref, and reassigned to a third
>- * context. In order to avoid inadvertent sharing
>- * of this ppgtt with that third context (and not
>- * src), we have to confirm that we have the same
>- * ppgtt after passing through the strong memory
>- * barrier implied by a successful
>- * kref_get_unless_zero().
>- *
>- * Once we have acquired the current ppgtt of src,
>- * we no longer care if it is released from src, as
>- * it cannot be reallocated elsewhere.
>- */
>-
>- if (vm == rcu_access_pointer(src->vm))
>- break;
>+ if (!rcu_access_pointer(src->vm))
>+ return 0;
>
>- i915_vm_put(vm);
>- } while (1);
>+ rcu_read_lock();
>+ vm = context_get_vm_rcu(src);
> rcu_read_unlock();
>
>- if (vm) {
>- if (!mutex_lock_interruptible(&dst->mutex)) {
>- __assign_ppgtt(dst, vm);
>- mutex_unlock(&dst->mutex);
>- } else {
>- err = -EINTR;
>- }
>- i915_vm_put(vm);
>+ if (!mutex_lock_interruptible(&dst->mutex)) {
>+ __assign_ppgtt(dst, vm);
>+ mutex_unlock(&dst->mutex);
>+ } else {
>+ err = -EINTR;
> }
>
>+ i915_vm_put(vm);
> return err;
> }
>
>--
>2.24.0
>
>_______________________________________________
>Intel-gfx mailing list
>Intel-gfx@lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] drm/i915/gem: Safely acquire the ctx->vm when copying
@ 2019-11-07 17:01 ` Chris Wilson
0 siblings, 0 replies; 12+ messages in thread
From: Chris Wilson @ 2019-11-07 17:01 UTC (permalink / raw)
To: Niranjan Vishwanathapura; +Cc: intel-gfx
Quoting Niranjan Vishwanathapura (2019-11-07 16:09:31)
> On Wed, Nov 06, 2019 at 09:13:12AM +0000, Chris Wilson wrote:
> >As we read the ctx->vm unlocked before cloning/exporting, we should
> >validate our reference is correct before returning it. We already do for
> >clone_vm() but were not so strict around get_ppgtt().
> >
> >Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> >---
> > drivers/gpu/drm/i915/gem/i915_gem_context.c | 80 +++++++++++----------
> > 1 file changed, 43 insertions(+), 37 deletions(-)
> >
> >diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
> >index de6e55af82cf..a06cc8e63281 100644
> >--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
> >+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
> >@@ -995,6 +995,38 @@ static int context_barrier_task(struct i915_gem_context *ctx,
> > return err;
> > }
> >
> >+static struct i915_address_space *
> >+context_get_vm_rcu(struct i915_gem_context *ctx)
> >+{
> >+ do {
> >+ struct i915_address_space *vm;
> >+
> >+ vm = rcu_dereference(ctx->vm);
> >+ if (!kref_get_unless_zero(&vm->ref))
> >+ continue;
>
> But should we check for NULL vm?
> I know the callers are ensuring ctx->vm will not be NULL, but just wondering.
We don't need to as the rule is that ctx->vm once set can never be
unset; and it can only be set during construction based on the HW
properties. The idea is that !!ctx->vm is an invariant indicating
whether or not we have full-ppgtt enabled. From a security perspective,
allowing a downgrade from full-ppgtt to a shared global gtt is a big no,
so I don't anticipating us allowing setting ctx->vm to NULL anytime in
the near future :)
> >+
> >+ /*
> >+ * This ppgtt may have be reallocated between
> >+ * the read and the kref, and reassigned to a third
> >+ * context. In order to avoid inadvertent sharing
> >+ * of this ppgtt with that third context (and not
> >+ * src), we have to confirm that we have the same
> >+ * ppgtt after passing through the strong memory
> >+ * barrier implied by a successful
> >+ * kref_get_unless_zero().
> >+ *
> >+ * Once we have acquired the current ppgtt of src,
> >+ * we no longer care if it is released from src, as
> >+ * it cannot be reallocated elsewhere.
> >+ */
>
> Comment should be made generic? It is too specific to cloning case.
s/src/ctx/
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/gem: Safely acquire the ctx->vm when copying
@ 2019-11-07 17:01 ` Chris Wilson
0 siblings, 0 replies; 12+ messages in thread
From: Chris Wilson @ 2019-11-07 17:01 UTC (permalink / raw)
To: Niranjan Vishwanathapura; +Cc: intel-gfx
Quoting Niranjan Vishwanathapura (2019-11-07 16:09:31)
> On Wed, Nov 06, 2019 at 09:13:12AM +0000, Chris Wilson wrote:
> >As we read the ctx->vm unlocked before cloning/exporting, we should
> >validate our reference is correct before returning it. We already do for
> >clone_vm() but were not so strict around get_ppgtt().
> >
> >Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> >---
> > drivers/gpu/drm/i915/gem/i915_gem_context.c | 80 +++++++++++----------
> > 1 file changed, 43 insertions(+), 37 deletions(-)
> >
> >diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
> >index de6e55af82cf..a06cc8e63281 100644
> >--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
> >+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
> >@@ -995,6 +995,38 @@ static int context_barrier_task(struct i915_gem_context *ctx,
> > return err;
> > }
> >
> >+static struct i915_address_space *
> >+context_get_vm_rcu(struct i915_gem_context *ctx)
> >+{
> >+ do {
> >+ struct i915_address_space *vm;
> >+
> >+ vm = rcu_dereference(ctx->vm);
> >+ if (!kref_get_unless_zero(&vm->ref))
> >+ continue;
>
> But should we check for NULL vm?
> I know the callers are ensuring ctx->vm will not be NULL, but just wondering.
We don't need to as the rule is that ctx->vm once set can never be
unset; and it can only be set during construction based on the HW
properties. The idea is that !!ctx->vm is an invariant indicating
whether or not we have full-ppgtt enabled. From a security perspective,
allowing a downgrade from full-ppgtt to a shared global gtt is a big no,
so I don't anticipating us allowing setting ctx->vm to NULL anytime in
the near future :)
> >+
> >+ /*
> >+ * This ppgtt may have be reallocated between
> >+ * the read and the kref, and reassigned to a third
> >+ * context. In order to avoid inadvertent sharing
> >+ * of this ppgtt with that third context (and not
> >+ * src), we have to confirm that we have the same
> >+ * ppgtt after passing through the strong memory
> >+ * barrier implied by a successful
> >+ * kref_get_unless_zero().
> >+ *
> >+ * Once we have acquired the current ppgtt of src,
> >+ * we no longer care if it is released from src, as
> >+ * it cannot be reallocated elsewhere.
> >+ */
>
> Comment should be made generic? It is too specific to cloning case.
s/src/ctx/
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] drm/i915/gem: Safely acquire the ctx->vm when copying
@ 2019-11-07 19:40 ` Niranjan Vishwanathapura
0 siblings, 0 replies; 12+ messages in thread
From: Niranjan Vishwanathapura @ 2019-11-07 19:40 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
On Thu, Nov 07, 2019 at 05:01:14PM +0000, Chris Wilson wrote:
>Quoting Niranjan Vishwanathapura (2019-11-07 16:09:31)
>> On Wed, Nov 06, 2019 at 09:13:12AM +0000, Chris Wilson wrote:
>> >As we read the ctx->vm unlocked before cloning/exporting, we should
>> >validate our reference is correct before returning it. We already do for
>> >clone_vm() but were not so strict around get_ppgtt().
>> >
>> >Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>> >---
>> > drivers/gpu/drm/i915/gem/i915_gem_context.c | 80 +++++++++++----------
>> > 1 file changed, 43 insertions(+), 37 deletions(-)
>> >
>> >diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
>> >index de6e55af82cf..a06cc8e63281 100644
>> >--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
>> >+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
>> >@@ -995,6 +995,38 @@ static int context_barrier_task(struct i915_gem_context *ctx,
>> > return err;
>> > }
>> >
>> >+static struct i915_address_space *
>> >+context_get_vm_rcu(struct i915_gem_context *ctx)
>> >+{
>> >+ do {
>> >+ struct i915_address_space *vm;
>> >+
>> >+ vm = rcu_dereference(ctx->vm);
>> >+ if (!kref_get_unless_zero(&vm->ref))
>> >+ continue;
>>
>> But should we check for NULL vm?
>> I know the callers are ensuring ctx->vm will not be NULL, but just wondering.
>
>We don't need to as the rule is that ctx->vm once set can never be
>unset; and it can only be set during construction based on the HW
>properties. The idea is that !!ctx->vm is an invariant indicating
>whether or not we have full-ppgtt enabled. From a security perspective,
>allowing a downgrade from full-ppgtt to a shared global gtt is a big no,
>so I don't anticipating us allowing setting ctx->vm to NULL anytime in
>the near future :)
OK, sounds right.
>
>> >+
>> >+ /*
>> >+ * This ppgtt may have be reallocated between
>> >+ * the read and the kref, and reassigned to a third
>> >+ * context. In order to avoid inadvertent sharing
>> >+ * of this ppgtt with that third context (and not
>> >+ * src), we have to confirm that we have the same
>> >+ * ppgtt after passing through the strong memory
>> >+ * barrier implied by a successful
>> >+ * kref_get_unless_zero().
>> >+ *
>> >+ * Once we have acquired the current ppgtt of src,
>> >+ * we no longer care if it is released from src, as
>> >+ * it cannot be reallocated elsewhere.
>> >+ */
>>
>> Comment should be made generic? It is too specific to cloning case.
>
>s/src/ctx/
>-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/gem: Safely acquire the ctx->vm when copying
@ 2019-11-07 19:40 ` Niranjan Vishwanathapura
0 siblings, 0 replies; 12+ messages in thread
From: Niranjan Vishwanathapura @ 2019-11-07 19:40 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
On Thu, Nov 07, 2019 at 05:01:14PM +0000, Chris Wilson wrote:
>Quoting Niranjan Vishwanathapura (2019-11-07 16:09:31)
>> On Wed, Nov 06, 2019 at 09:13:12AM +0000, Chris Wilson wrote:
>> >As we read the ctx->vm unlocked before cloning/exporting, we should
>> >validate our reference is correct before returning it. We already do for
>> >clone_vm() but were not so strict around get_ppgtt().
>> >
>> >Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>> >---
>> > drivers/gpu/drm/i915/gem/i915_gem_context.c | 80 +++++++++++----------
>> > 1 file changed, 43 insertions(+), 37 deletions(-)
>> >
>> >diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
>> >index de6e55af82cf..a06cc8e63281 100644
>> >--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
>> >+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
>> >@@ -995,6 +995,38 @@ static int context_barrier_task(struct i915_gem_context *ctx,
>> > return err;
>> > }
>> >
>> >+static struct i915_address_space *
>> >+context_get_vm_rcu(struct i915_gem_context *ctx)
>> >+{
>> >+ do {
>> >+ struct i915_address_space *vm;
>> >+
>> >+ vm = rcu_dereference(ctx->vm);
>> >+ if (!kref_get_unless_zero(&vm->ref))
>> >+ continue;
>>
>> But should we check for NULL vm?
>> I know the callers are ensuring ctx->vm will not be NULL, but just wondering.
>
>We don't need to as the rule is that ctx->vm once set can never be
>unset; and it can only be set during construction based on the HW
>properties. The idea is that !!ctx->vm is an invariant indicating
>whether or not we have full-ppgtt enabled. From a security perspective,
>allowing a downgrade from full-ppgtt to a shared global gtt is a big no,
>so I don't anticipating us allowing setting ctx->vm to NULL anytime in
>the near future :)
OK, sounds right.
>
>> >+
>> >+ /*
>> >+ * This ppgtt may have be reallocated between
>> >+ * the read and the kref, and reassigned to a third
>> >+ * context. In order to avoid inadvertent sharing
>> >+ * of this ppgtt with that third context (and not
>> >+ * src), we have to confirm that we have the same
>> >+ * ppgtt after passing through the strong memory
>> >+ * barrier implied by a successful
>> >+ * kref_get_unless_zero().
>> >+ *
>> >+ * Once we have acquired the current ppgtt of src,
>> >+ * we no longer care if it is released from src, as
>> >+ * it cannot be reallocated elsewhere.
>> >+ */
>>
>> Comment should be made generic? It is too specific to cloning case.
>
>s/src/ctx/
>-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2019-11-07 19:52 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-06 9:13 [PATCH] drm/i915/gem: Safely acquire the ctx->vm when copying Chris Wilson
2019-11-06 9:13 ` [Intel-gfx] " Chris Wilson
2019-11-06 11:20 ` ✓ Fi.CI.BAT: success for " Patchwork
2019-11-06 11:20 ` [Intel-gfx] " Patchwork
2019-11-07 7:44 ` ✓ Fi.CI.IGT: " Patchwork
2019-11-07 7:44 ` [Intel-gfx] " Patchwork
2019-11-07 16:09 ` [PATCH] " Niranjan Vishwanathapura
2019-11-07 16:09 ` [Intel-gfx] " Niranjan Vishwanathapura
2019-11-07 17:01 ` Chris Wilson
2019-11-07 17:01 ` [Intel-gfx] " Chris Wilson
2019-11-07 19:40 ` Niranjan Vishwanathapura
2019-11-07 19:40 ` [Intel-gfx] " Niranjan Vishwanathapura
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.