intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH] drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list
@ 2020-01-17 22:00 Chris Wilson
  2020-01-17 22:06 ` Chris Wilson
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Chris Wilson @ 2020-01-17 22:00 UTC (permalink / raw)
  To: intel-gfx

Currently we create a new mmap_offset for every call to
mmap_offset_ioctl. This exposes ourselves to an abusive client that may
simply create new mmap_offsets ad infinitum, which will exhaust physical
memory and the virtual address space. In addition to the exhaustion, a
very long linear list of mmap_offsets causes other clients using the
object to incur long list walks -- these long lists can also be
generated by simply having many clients generate their own mmap_offset.

Switching to an rbtree store for obj->mmo.offsets allows us to use a
binary search for duplicated mmap_offsets (preventing the exhaustion
from a trivial malicious client), and also quickly search for matching
mmap_offsets on object close.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
---
 drivers/gpu/drm/i915/gem/i915_gem_mman.c      | 93 +++++++++++++++++--
 drivers/gpu/drm/i915/gem/i915_gem_object.c    | 46 +++++++--
 .../gpu/drm/i915/gem/i915_gem_object_types.h  |  4 +-
 3 files changed, 124 insertions(+), 19 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
index b9fdac2f9003..2908a205faa9 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_mman.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
@@ -455,10 +455,11 @@ static void i915_gem_object_release_mmap_gtt(struct drm_i915_gem_object *obj)
 
 void i915_gem_object_release_mmap_offset(struct drm_i915_gem_object *obj)
 {
-	struct i915_mmap_offset *mmo;
+	struct i915_mmap_offset *mmo, *mn;
 
 	spin_lock(&obj->mmo.lock);
-	list_for_each_entry(mmo, &obj->mmo.offsets, offset) {
+	rbtree_postorder_for_each_entry_safe(mmo, mn,
+					     &obj->mmo.offsets, offset) {
 		/*
 		 * vma_node_unmap for GTT mmaps handled already in
 		 * __i915_gem_object_release_mmap_gtt
@@ -487,6 +488,84 @@ void i915_gem_object_release_mmap(struct drm_i915_gem_object *obj)
 	i915_gem_object_release_mmap_offset(obj);
 }
 
+static struct i915_mmap_offset *
+lookup_mmo(struct drm_i915_gem_object *obj,
+	   enum i915_mmap_type mmap_type,
+	   struct drm_file *file)
+{
+	struct i915_mmap_offset *match = NULL;
+	struct rb_node *rb;
+
+	spin_lock(&obj->mmo.lock);
+	rb = obj->mmo.offsets.rb_node;
+	while (rb) {
+		struct i915_mmap_offset *mmo =
+			rb_entry(rb, typeof(*mmo), offset);
+
+		if (mmo->file < file) {
+			rb = rb->rb_right;
+			continue;
+		}
+
+		if (mmo->file > file) {
+			rb = rb->rb_left;
+			continue;
+		}
+
+		if (mmo->mmap_type < mmap_type) {
+			rb = rb->rb_right;
+			continue;
+		}
+
+		if (mmo->mmap_type > mmap_type) {
+			rb = rb->rb_left;
+			continue;
+		}
+
+		match = mmo;
+		break;
+	}
+	spin_unlock(&obj->mmo.lock);
+
+	return match;
+}
+
+static struct i915_mmap_offset *
+insert_mmo(struct drm_i915_gem_object *obj, struct i915_mmap_offset *mmo)
+{
+	struct rb_node *rb, **p;
+
+	spin_lock(&obj->mmo.lock);
+	rb = NULL;
+	p = &obj->mmo.offsets.rb_node;
+	while (*p) {
+		struct i915_mmap_offset *pos;
+
+		rb = *p;
+		pos = rb_entry(rb, typeof(*pos), offset);
+
+		if (pos->file < mmo->file) {
+			p = &rb->rb_right;
+			continue;
+		}
+
+		if (pos->file > mmo->file) {
+			p = &rb->rb_left;
+			continue;
+		}
+
+		if (pos->mmap_type < mmo->mmap_type)
+			p = &rb->rb_right;
+		else
+			p = &rb->rb_left;
+	}
+	rb_link_node(&mmo->offset, rb, p);
+	rb_insert_color(&mmo->offset, &obj->mmo.offsets);
+	spin_unlock(&obj->mmo.lock);
+
+	return mmo;
+}
+
 static struct i915_mmap_offset *
 mmap_offset_attach(struct drm_i915_gem_object *obj,
 		   enum i915_mmap_type mmap_type,
@@ -496,6 +575,10 @@ mmap_offset_attach(struct drm_i915_gem_object *obj,
 	struct i915_mmap_offset *mmo;
 	int err;
 
+	mmo = lookup_mmo(obj, mmap_type, file);
+	if (mmo)
+		return mmo;
+
 	mmo = kmalloc(sizeof(*mmo), GFP_KERNEL);
 	if (!mmo)
 		return ERR_PTR(-ENOMEM);
@@ -526,11 +609,7 @@ mmap_offset_attach(struct drm_i915_gem_object *obj,
 	if (file)
 		drm_vma_node_allow(&mmo->vma_node, file);
 
-	spin_lock(&obj->mmo.lock);
-	list_add(&mmo->offset, &obj->mmo.offsets);
-	spin_unlock(&obj->mmo.lock);
-
-	return mmo;
+	return insert_mmo(obj, mmo);
 
 err:
 	kfree(mmo);
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i915/gem/i915_gem_object.c
index 46bacc82ddc4..3cc9f83f0bae 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_object.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c
@@ -63,7 +63,7 @@ void i915_gem_object_init(struct drm_i915_gem_object *obj,
 	INIT_LIST_HEAD(&obj->lut_list);
 
 	spin_lock_init(&obj->mmo.lock);
-	INIT_LIST_HEAD(&obj->mmo.offsets);
+	obj->mmo.offsets = RB_ROOT;
 
 	init_rcu_head(&obj->rcu);
 
@@ -96,6 +96,37 @@ void i915_gem_object_set_cache_coherency(struct drm_i915_gem_object *obj,
 		!(obj->cache_coherent & I915_BO_CACHE_COHERENT_FOR_WRITE);
 }
 
+static struct i915_mmap_offset *
+first_mmo(struct drm_i915_gem_object *obj, struct drm_file *file)
+{
+	struct i915_mmap_offset *first = NULL;
+	struct rb_node *pos;
+
+	pos = obj->mmo.offsets.rb_node;
+	while (pos) {
+		struct i915_mmap_offset *mmo =
+			rb_entry(pos, typeof(*mmo), offset);
+
+		if (mmo->file < file) {
+			pos = pos->rb_right;
+			continue;
+		}
+
+		pos = pos->rb_left;
+		if (mmo->file == file)
+			first = mmo;
+	}
+
+	return first;
+}
+
+static struct i915_mmap_offset *
+next_mmo(struct i915_mmap_offset *pos, struct drm_file *file)
+{
+	pos = rb_entry_safe(rb_next(&pos->offset), typeof(*pos), offset);
+	return pos && pos->file == file ? pos : NULL;
+}
+
 void i915_gem_close_object(struct drm_gem_object *gem, struct drm_file *file)
 {
 	struct drm_i915_gem_object *obj = to_intel_bo(gem);
@@ -117,14 +148,8 @@ void i915_gem_close_object(struct drm_gem_object *gem, struct drm_file *file)
 	i915_gem_object_unlock(obj);
 
 	spin_lock(&obj->mmo.lock);
-	list_for_each_entry(mmo, &obj->mmo.offsets, offset) {
-		if (mmo->file != file)
-			continue;
-
-		spin_unlock(&obj->mmo.lock);
+	for (mmo = first_mmo(obj, file); mmo; mmo = next_mmo(mmo, file))
 		drm_vma_node_revoke(&mmo->vma_node, file);
-		spin_lock(&obj->mmo.lock);
-	}
 	spin_unlock(&obj->mmo.lock);
 
 	list_for_each_entry_safe(lut, ln, &close, obj_link) {
@@ -203,12 +228,13 @@ static void __i915_gem_free_objects(struct drm_i915_private *i915,
 
 		i915_gem_object_release_mmap(obj);
 
-		list_for_each_entry_safe(mmo, mn, &obj->mmo.offsets, offset) {
+		rbtree_postorder_for_each_entry_safe(mmo, mn,
+						     &obj->mmo.offsets,
+						     offset) {
 			drm_vma_offset_remove(obj->base.dev->vma_offset_manager,
 					      &mmo->vma_node);
 			kfree(mmo);
 		}
-		INIT_LIST_HEAD(&obj->mmo.offsets);
 
 		GEM_BUG_ON(atomic_read(&obj->bind_count));
 		GEM_BUG_ON(obj->userfault_count);
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h
index 88e268633fdc..124fd2fb1bec 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h
+++ b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h
@@ -77,7 +77,7 @@ struct i915_mmap_offset {
 	struct drm_file *file;
 	enum i915_mmap_type mmap_type;
 
-	struct list_head offset;
+	struct rb_node offset;
 };
 
 struct drm_i915_gem_object {
@@ -137,7 +137,7 @@ struct drm_i915_gem_object {
 
 	struct {
 		spinlock_t lock; /* Protects access to mmo offsets */
-		struct list_head offsets;
+		struct rb_root offsets;
 	} mmo;
 
 	I915_SELFTEST_DECLARE(struct list_head st_link);
-- 
2.25.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Intel-gfx] [PATCH] drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list
  2020-01-17 22:00 [Intel-gfx] [PATCH] drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list Chris Wilson
@ 2020-01-17 22:06 ` Chris Wilson
  2020-01-17 22:29 ` [Intel-gfx] [PATCH v2] " Chris Wilson
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2020-01-17 22:06 UTC (permalink / raw)
  To: intel-gfx

Quoting Chris Wilson (2020-01-17 22:00:38)
> Currently we create a new mmap_offset for every call to
> mmap_offset_ioctl. This exposes ourselves to an abusive client that may
> simply create new mmap_offsets ad infinitum, which will exhaust physical
> memory and the virtual address space. In addition to the exhaustion, a
> very long linear list of mmap_offsets causes other clients using the
> object to incur long list walks -- these long lists can also be
> generated by simply having many clients generate their own mmap_offset.
> 
> Switching to an rbtree store for obj->mmo.offsets allows us to use a
> binary search for duplicated mmap_offsets (preventing the exhaustion
> from a trivial malicious client), and also quickly search for matching
> mmap_offsets on object close.
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>

Hmm, mmo->file only serves for revoking, duplicating drm_vma_node_revoke
itself. I think we can do better yet.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Intel-gfx] [PATCH v2] drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list
  2020-01-17 22:00 [Intel-gfx] [PATCH] drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list Chris Wilson
  2020-01-17 22:06 ` Chris Wilson
@ 2020-01-17 22:29 ` Chris Wilson
  2020-01-18  2:38 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list (rev2) Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2020-01-17 22:29 UTC (permalink / raw)
  To: intel-gfx

Currently we create a new mmap_offset for every call to
mmap_offset_ioctl. This exposes ourselves to an abusive client that may
simply create new mmap_offsets ad infinitum, which will exhaust physical
memory and the virtual address space. In addition to the exhaustion, a
very long linear list of mmap_offsets causes other clients using the
object to incur long list walks -- these long lists can also be
generated by simply having many clients generate their own mmap_offset.

However, we can simply use the drm_vma_node itself to manage the file
association (allow/revoke) dropping our need to keep an mmo per-file.
Then if we keep a small rbtree of per-type mmap_offsets, we can lookup
duplicate requests quickly.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
---
 drivers/gpu/drm/i915/gem/i915_gem_mman.c      | 81 ++++++++++++++++---
 drivers/gpu/drm/i915/gem/i915_gem_object.c    | 17 ++--
 .../gpu/drm/i915/gem/i915_gem_object_types.h  |  6 +-
 3 files changed, 76 insertions(+), 28 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
index b9fdac2f9003..0e0f63bf6ca8 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_mman.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
@@ -455,10 +455,11 @@ static void i915_gem_object_release_mmap_gtt(struct drm_i915_gem_object *obj)
 
 void i915_gem_object_release_mmap_offset(struct drm_i915_gem_object *obj)
 {
-	struct i915_mmap_offset *mmo;
+	struct i915_mmap_offset *mmo, *mn;
 
 	spin_lock(&obj->mmo.lock);
-	list_for_each_entry(mmo, &obj->mmo.offsets, offset) {
+	rbtree_postorder_for_each_entry_safe(mmo, mn,
+					     &obj->mmo.offsets, offset) {
 		/*
 		 * vma_node_unmap for GTT mmaps handled already in
 		 * __i915_gem_object_release_mmap_gtt
@@ -487,6 +488,59 @@ void i915_gem_object_release_mmap(struct drm_i915_gem_object *obj)
 	i915_gem_object_release_mmap_offset(obj);
 }
 
+static struct i915_mmap_offset *
+lookup_mmo(struct drm_i915_gem_object *obj,
+	   enum i915_mmap_type mmap_type)
+{
+	struct rb_node *rb;
+
+	spin_lock(&obj->mmo.lock);
+	rb = obj->mmo.offsets.rb_node;
+	while (rb) {
+		struct i915_mmap_offset *mmo =
+			rb_entry(rb, typeof(*mmo), offset);
+
+		if (mmo->mmap_type == mmap_type) {
+			spin_unlock(&obj->mmo.lock);
+			return mmo;
+		} else if (mmo->mmap_type < mmap_type) {
+			rb = rb->rb_right;
+		} else {
+			rb = rb->rb_left;
+		}
+
+	}
+	spin_unlock(&obj->mmo.lock);
+
+	return NULL;
+}
+
+static struct i915_mmap_offset *
+insert_mmo(struct drm_i915_gem_object *obj, struct i915_mmap_offset *mmo)
+{
+	struct rb_node *rb, **p;
+
+	spin_lock(&obj->mmo.lock);
+	rb = NULL;
+	p = &obj->mmo.offsets.rb_node;
+	while (*p) {
+		struct i915_mmap_offset *pos;
+
+		rb = *p;
+		pos = rb_entry(rb, typeof(*pos), offset);
+
+		if (pos->mmap_type < mmo->mmap_type)
+			p = &rb->rb_right;
+		else
+			p = &rb->rb_left;
+	}
+	rb_link_node(&mmo->offset, rb, p);
+	rb_insert_color(&mmo->offset, &obj->mmo.offsets);
+	spin_unlock(&obj->mmo.lock);
+
+	return mmo;
+}
+
 static struct i915_mmap_offset *
 mmap_offset_attach(struct drm_i915_gem_object *obj,
 		   enum i915_mmap_type mmap_type,
@@ -496,18 +550,23 @@ mmap_offset_attach(struct drm_i915_gem_object *obj,
 	struct i915_mmap_offset *mmo;
 	int err;
 
+	mmo = lookup_mmo(obj, mmap_type);
+	if (mmo) {
+		if (file)
+			drm_vma_node_allow(&mmo->vma_node, file);
+		return mmo;
+	}
+
 	mmo = kmalloc(sizeof(*mmo), GFP_KERNEL);
 	if (!mmo)
 		return ERR_PTR(-ENOMEM);
 
 	mmo->obj = obj;
-	mmo->dev = obj->base.dev;
-	mmo->file = file;
 	mmo->mmap_type = mmap_type;
 	drm_vma_node_reset(&mmo->vma_node);
 
-	err = drm_vma_offset_add(mmo->dev->vma_offset_manager, &mmo->vma_node,
-				 obj->base.size / PAGE_SIZE);
+	err = drm_vma_offset_add(obj->base.dev->vma_offset_manager,
+				 &mmo->vma_node, obj->base.size / PAGE_SIZE);
 	if (likely(!err))
 		goto out;
 
@@ -517,8 +576,8 @@ mmap_offset_attach(struct drm_i915_gem_object *obj,
 		goto err;
 
 	i915_gem_drain_freed_objects(i915);
-	err = drm_vma_offset_add(mmo->dev->vma_offset_manager, &mmo->vma_node,
-				 obj->base.size / PAGE_SIZE);
+	err = drm_vma_offset_add(obj->base.dev->vma_offset_manager,
+				 &mmo->vma_node, obj->base.size / PAGE_SIZE);
 	if (err)
 		goto err;
 
@@ -526,11 +585,7 @@ mmap_offset_attach(struct drm_i915_gem_object *obj,
 	if (file)
 		drm_vma_node_allow(&mmo->vma_node, file);
 
-	spin_lock(&obj->mmo.lock);
-	list_add(&mmo->offset, &obj->mmo.offsets);
-	spin_unlock(&obj->mmo.lock);
-
-	return mmo;
+	return insert_mmo(obj, mmo);
 
 err:
 	kfree(mmo);
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i915/gem/i915_gem_object.c
index 46bacc82ddc4..34e75a7fec81 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_object.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c
@@ -63,7 +63,7 @@ void i915_gem_object_init(struct drm_i915_gem_object *obj,
 	INIT_LIST_HEAD(&obj->lut_list);
 
 	spin_lock_init(&obj->mmo.lock);
-	INIT_LIST_HEAD(&obj->mmo.offsets);
+	obj->mmo.offsets = RB_ROOT;
 
 	init_rcu_head(&obj->rcu);
 
@@ -100,8 +100,8 @@ void i915_gem_close_object(struct drm_gem_object *gem, struct drm_file *file)
 {
 	struct drm_i915_gem_object *obj = to_intel_bo(gem);
 	struct drm_i915_file_private *fpriv = file->driver_priv;
+	struct i915_mmap_offset *mmo, *mn;
 	struct i915_lut_handle *lut, *ln;
-	struct i915_mmap_offset *mmo;
 	LIST_HEAD(close);
 
 	i915_gem_object_lock(obj);
@@ -117,14 +117,8 @@ void i915_gem_close_object(struct drm_gem_object *gem, struct drm_file *file)
 	i915_gem_object_unlock(obj);
 
 	spin_lock(&obj->mmo.lock);
-	list_for_each_entry(mmo, &obj->mmo.offsets, offset) {
-		if (mmo->file != file)
-			continue;
-
-		spin_unlock(&obj->mmo.lock);
+	rbtree_postorder_for_each_entry_safe(mmo, mn, &obj->mmo.offsets, offset)
 		drm_vma_node_revoke(&mmo->vma_node, file);
-		spin_lock(&obj->mmo.lock);
-	}
 	spin_unlock(&obj->mmo.lock);
 
 	list_for_each_entry_safe(lut, ln, &close, obj_link) {
@@ -203,12 +197,13 @@ static void __i915_gem_free_objects(struct drm_i915_private *i915,
 
 		i915_gem_object_release_mmap(obj);
 
-		list_for_each_entry_safe(mmo, mn, &obj->mmo.offsets, offset) {
+		rbtree_postorder_for_each_entry_safe(mmo, mn,
+						     &obj->mmo.offsets,
+						     offset) {
 			drm_vma_offset_remove(obj->base.dev->vma_offset_manager,
 					      &mmo->vma_node);
 			kfree(mmo);
 		}
-		INIT_LIST_HEAD(&obj->mmo.offsets);
 
 		GEM_BUG_ON(atomic_read(&obj->bind_count));
 		GEM_BUG_ON(obj->userfault_count);
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h
index 88e268633fdc..f64ad77e6b1e 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h
+++ b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h
@@ -71,13 +71,11 @@ enum i915_mmap_type {
 };
 
 struct i915_mmap_offset {
-	struct drm_device *dev;
 	struct drm_vma_offset_node vma_node;
 	struct drm_i915_gem_object *obj;
-	struct drm_file *file;
 	enum i915_mmap_type mmap_type;
 
-	struct list_head offset;
+	struct rb_node offset;
 };
 
 struct drm_i915_gem_object {
@@ -137,7 +135,7 @@ struct drm_i915_gem_object {
 
 	struct {
 		spinlock_t lock; /* Protects access to mmo offsets */
-		struct list_head offsets;
+		struct rb_root offsets;
 	} mmo;
 
 	I915_SELFTEST_DECLARE(struct list_head st_link);
-- 
2.25.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list (rev2)
  2020-01-17 22:00 [Intel-gfx] [PATCH] drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list Chris Wilson
  2020-01-17 22:06 ` Chris Wilson
  2020-01-17 22:29 ` [Intel-gfx] [PATCH v2] " Chris Wilson
@ 2020-01-18  2:38 ` Patchwork
  2020-01-18  3:20 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
  2020-01-18  3:20 ` [Intel-gfx] ✗ Fi.CI.BUILD: warning " Patchwork
  4 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2020-01-18  2:38 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list (rev2)
URL   : https://patchwork.freedesktop.org/series/72221/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
a9954bbab8d0 drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list
-:66: CHECK:BRACES: Blank lines aren't necessary before a close brace '}'
#66: FILE: drivers/gpu/drm/i915/gem/i915_gem_mman.c:512:
+
+	}

total: 0 errors, 0 warnings, 1 checks, 190 lines checked

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list (rev2)
  2020-01-17 22:00 [Intel-gfx] [PATCH] drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list Chris Wilson
                   ` (2 preceding siblings ...)
  2020-01-18  2:38 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list (rev2) Patchwork
@ 2020-01-18  3:20 ` Patchwork
  2020-01-18  3:20 ` [Intel-gfx] ✗ Fi.CI.BUILD: warning " Patchwork
  4 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2020-01-18  3:20 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list (rev2)
URL   : https://patchwork.freedesktop.org/series/72221/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_7769 -> Patchwork_16162
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_16162 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_16162, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/index.html

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_16162:

### IGT changes ###

#### Possible regressions ####

  * igt@gem_busy@busy-all:
    - fi-bsw-nick:        NOTRUN -> [INCOMPLETE][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-bsw-nick/igt@gem_busy@busy-all.html
    - fi-bsw-kefka:       NOTRUN -> [INCOMPLETE][2]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-bsw-kefka/igt@gem_busy@busy-all.html
    - fi-hsw-4770r:       NOTRUN -> [DMESG-WARN][3]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-hsw-4770r/igt@gem_busy@busy-all.html
    - fi-hsw-peppy:       NOTRUN -> [DMESG-WARN][4]
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-hsw-peppy/igt@gem_busy@busy-all.html
    - fi-pnv-d510:        [PASS][5] -> [DMESG-WARN][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-pnv-d510/igt@gem_busy@busy-all.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-pnv-d510/igt@gem_busy@busy-all.html
    - fi-cfl-8700k:       [PASS][7] -> [INCOMPLETE][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-cfl-8700k/igt@gem_busy@busy-all.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-cfl-8700k/igt@gem_busy@busy-all.html
    - fi-snb-2520m:       NOTRUN -> [DMESG-WARN][9]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-snb-2520m/igt@gem_busy@busy-all.html
    - fi-blb-e6850:       [PASS][10] -> [DMESG-WARN][11]
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-blb-e6850/igt@gem_busy@busy-all.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-blb-e6850/igt@gem_busy@busy-all.html
    - fi-elk-e7500:       [PASS][12] -> [DMESG-WARN][13]
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-elk-e7500/igt@gem_busy@busy-all.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-elk-e7500/igt@gem_busy@busy-all.html
    - fi-cfl-guc:         [PASS][14] -> [INCOMPLETE][15]
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-cfl-guc/igt@gem_busy@busy-all.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-cfl-guc/igt@gem_busy@busy-all.html
    - fi-hsw-4770:        [PASS][16] -> [DMESG-WARN][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-hsw-4770/igt@gem_busy@busy-all.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-hsw-4770/igt@gem_busy@busy-all.html
    - fi-bsw-n3050:       NOTRUN -> [INCOMPLETE][18]
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-bsw-n3050/igt@gem_busy@busy-all.html
    - fi-ilk-650:         [PASS][19] -> [DMESG-WARN][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-ilk-650/igt@gem_busy@busy-all.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-ilk-650/igt@gem_busy@busy-all.html
    - fi-whl-u:           [PASS][21] -> [INCOMPLETE][22]
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-whl-u/igt@gem_busy@busy-all.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-whl-u/igt@gem_busy@busy-all.html
    - fi-byt-j1900:       [PASS][23] -> [DMESG-WARN][24]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-byt-j1900/igt@gem_busy@busy-all.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-byt-j1900/igt@gem_busy@busy-all.html
    - fi-snb-2600:        NOTRUN -> [DMESG-WARN][25]
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-snb-2600/igt@gem_busy@busy-all.html

  * igt@gem_mmap_gtt@basic:
    - fi-gdg-551:         [PASS][26] -> [DMESG-WARN][27]
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-gdg-551/igt@gem_mmap_gtt@basic.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-gdg-551/igt@gem_mmap_gtt@basic.html

  * igt@runner@aborted:
    - fi-kbl-x1275:       NOTRUN -> [FAIL][28]
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-kbl-x1275/igt@runner@aborted.html
    - fi-bsw-kefka:       NOTRUN -> [FAIL][29]
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-bsw-kefka/igt@runner@aborted.html
    - fi-cfl-8700k:       NOTRUN -> [FAIL][30]
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-cfl-8700k/igt@runner@aborted.html
    - fi-gdg-551:         NOTRUN -> [FAIL][31]
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-gdg-551/igt@runner@aborted.html
    - fi-bsw-nick:        NOTRUN -> [FAIL][32]
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-bsw-nick/igt@runner@aborted.html
    - fi-apl-guc:         NOTRUN -> [FAIL][33]
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-apl-guc/igt@runner@aborted.html
    - fi-kbl-r:           NOTRUN -> [FAIL][34]
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-kbl-r/igt@runner@aborted.html
    - fi-kbl-soraka:      NOTRUN -> [FAIL][35]
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-kbl-soraka/igt@runner@aborted.html
    - fi-kbl-7500u:       NOTRUN -> [FAIL][36]
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-kbl-7500u/igt@runner@aborted.html
    - fi-kbl-guc:         NOTRUN -> [FAIL][37]
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-kbl-guc/igt@runner@aborted.html
    - fi-whl-u:           NOTRUN -> [FAIL][38]
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-whl-u/igt@runner@aborted.html
    - fi-bxt-dsi:         NOTRUN -> [FAIL][39]
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-bxt-dsi/igt@runner@aborted.html
    - fi-cfl-guc:         NOTRUN -> [FAIL][40]
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-cfl-guc/igt@runner@aborted.html
    - fi-bsw-n3050:       NOTRUN -> [FAIL][41]
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-bsw-n3050/igt@runner@aborted.html

  
#### Warnings ####

  * igt@runner@aborted:
    - fi-kbl-8809g:       [FAIL][42] ([i915#858]) -> [FAIL][43]
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-kbl-8809g/igt@runner@aborted.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-kbl-8809g/igt@runner@aborted.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@runner@aborted:
    - {fi-kbl-7560u}:     NOTRUN -> [FAIL][44]
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-kbl-7560u/igt@runner@aborted.html

  
Known issues
------------

  Here are the changes found in Patchwork_16162 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_busy@busy-all:
    - fi-bdw-5557u:       [PASS][45] -> [INCOMPLETE][46] ([i915#667])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-bdw-5557u/igt@gem_busy@busy-all.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-bdw-5557u/igt@gem_busy@busy-all.html
    - fi-kbl-8809g:       [PASS][47] -> [INCOMPLETE][48] ([i915#667])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-kbl-8809g/igt@gem_busy@busy-all.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-kbl-8809g/igt@gem_busy@busy-all.html
    - fi-icl-guc:         [PASS][49] -> [INCOMPLETE][50] ([i915#140])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-icl-guc/igt@gem_busy@busy-all.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-icl-guc/igt@gem_busy@busy-all.html
    - fi-skl-6770hq:      [PASS][51] -> [INCOMPLETE][52] ([i915#667])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-skl-6770hq/igt@gem_busy@busy-all.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-skl-6770hq/igt@gem_busy@busy-all.html
    - fi-icl-dsi:         [PASS][53] -> [INCOMPLETE][54] ([i915#140])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-icl-dsi/igt@gem_busy@busy-all.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-icl-dsi/igt@gem_busy@busy-all.html
    - fi-kbl-guc:         [PASS][55] -> [INCOMPLETE][56] ([i915#667])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-kbl-guc/igt@gem_busy@busy-all.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-kbl-guc/igt@gem_busy@busy-all.html
    - fi-kbl-7500u:       [PASS][57] -> [INCOMPLETE][58] ([i915#667])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-kbl-7500u/igt@gem_busy@busy-all.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-kbl-7500u/igt@gem_busy@busy-all.html
    - fi-kbl-x1275:       [PASS][59] -> [INCOMPLETE][60] ([i915#667])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-kbl-x1275/igt@gem_busy@busy-all.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-kbl-x1275/igt@gem_busy@busy-all.html
    - fi-icl-u2:          [PASS][61] -> [INCOMPLETE][62] ([i915#140])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-icl-u2/igt@gem_busy@busy-all.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-icl-u2/igt@gem_busy@busy-all.html
    - fi-icl-y:           [PASS][63] -> [INCOMPLETE][64] ([i915#140])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-icl-y/igt@gem_busy@busy-all.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-icl-y/igt@gem_busy@busy-all.html
    - fi-apl-guc:         [PASS][65] -> [INCOMPLETE][66] ([fdo#103927])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-apl-guc/igt@gem_busy@busy-all.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-apl-guc/igt@gem_busy@busy-all.html
    - fi-glk-dsi:         [PASS][67] -> [INCOMPLETE][68] ([i915#58] / [k.org#198133])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-glk-dsi/igt@gem_busy@busy-all.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-glk-dsi/igt@gem_busy@busy-all.html
    - fi-cml-s:           [PASS][69] -> [INCOMPLETE][70] ([i915#283])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-cml-s/igt@gem_busy@busy-all.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-cml-s/igt@gem_busy@busy-all.html
    - fi-skl-6700k2:      [PASS][71] -> [INCOMPLETE][72] ([i915#667])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-skl-6700k2/igt@gem_busy@busy-all.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-skl-6700k2/igt@gem_busy@busy-all.html
    - fi-skl-guc:         [PASS][73] -> [INCOMPLETE][74] ([i915#667])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-skl-guc/igt@gem_busy@busy-all.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-skl-guc/igt@gem_busy@busy-all.html
    - fi-icl-u3:          [PASS][75] -> [INCOMPLETE][76] ([i915#140])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-icl-u3/igt@gem_busy@busy-all.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-icl-u3/igt@gem_busy@busy-all.html
    - fi-cml-u2:          [PASS][77] -> [INCOMPLETE][78] ([i915#283])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-cml-u2/igt@gem_busy@busy-all.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-cml-u2/igt@gem_busy@busy-all.html
    - fi-bxt-dsi:         [PASS][79] -> [INCOMPLETE][80] ([fdo#103927])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-bxt-dsi/igt@gem_busy@busy-all.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-bxt-dsi/igt@gem_busy@busy-all.html
    - fi-kbl-soraka:      [PASS][81] -> [INCOMPLETE][82] ([i915#667])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-kbl-soraka/igt@gem_busy@busy-all.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-kbl-soraka/igt@gem_busy@busy-all.html

  
#### Warnings ####

  * igt@runner@aborted:
    - fi-cml-s:           [FAIL][83] ([fdo#111764] / [i915#577]) -> [FAIL][84] ([fdo#111893] / [i915#577])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7769/fi-cml-s/igt@runner@aborted.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/fi-cml-s/igt@runner@aborted.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#111764]: https://bugs.freedesktop.org/show_bug.cgi?id=111764
  [fdo#111893]: https://bugs.freedesktop.org/show_bug.cgi?id=111893
  [i915#140]: https://gitlab.freedesktop.org/drm/intel/issues/140
  [i915#283]: https://gitlab.freedesktop.org/drm/intel/issues/283
  [i915#472]: https://gitlab.freedesktop.org/drm/intel/issues/472
  [i915#577]: https://gitlab.freedesktop.org/drm/intel/issues/577
  [i915#58]: https://gitlab.freedesktop.org/drm/intel/issues/58
  [i915#667]: https://gitlab.freedesktop.org/drm/intel/issues/667
  [i915#858]: https://gitlab.freedesktop.org/drm/intel/issues/858
  [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133


Participating hosts (42 -> 42)
------------------------------

  Additional (9): fi-hsw-4770r fi-hsw-peppy fi-snb-2520m fi-kbl-r fi-bsw-kefka fi-kbl-7560u fi-bsw-nick fi-skl-6600u fi-snb-2600 
  Missing    (9): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-bwr-2160 fi-ivb-3770 fi-skl-lmem fi-byt-n2820 fi-byt-clapper 


Build changes
-------------

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_7769 -> Patchwork_16162

  CI-20190529: 20190529
  CI_DRM_7769: 15e78429922635916a012ba594255cf07a5b07ad @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5372: 0d00a27fbbd4d4a77d24499ea9811e07e65eb0ac @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_16162: a9954bbab8d032c65b2af034e91628ba7152dbcd @ git://anongit.freedesktop.org/gfx-ci/linux


== Kernel 32bit build ==

Warning: Kernel 32bit buildtest failed:
https://intel-gfx-ci.01.org/Patchwork_16162/build_32bit.log

  CALL    scripts/checksyscalls.sh
  CALL    scripts/atomic/check-atomics.sh
  CHK     include/generated/compile.h
Kernel: arch/x86/boot/bzImage is ready  (#1)
  Building modules, stage 2.
  MODPOST 122 modules
ERROR: "__udivdi3" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
scripts/Makefile.modpost:93: recipe for target '__modpost' failed
make[1]: *** [__modpost] Error 1
Makefile:1282: recipe for target 'modules' failed
make: *** [modules] Error 2


== Linux commits ==

a9954bbab8d0 drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Intel-gfx] ✗ Fi.CI.BUILD: warning for drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list (rev2)
  2020-01-17 22:00 [Intel-gfx] [PATCH] drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list Chris Wilson
                   ` (3 preceding siblings ...)
  2020-01-18  3:20 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
@ 2020-01-18  3:20 ` Patchwork
  4 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2020-01-18  3:20 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list (rev2)
URL   : https://patchwork.freedesktop.org/series/72221/
State : warning

== Summary ==

CALL    scripts/checksyscalls.sh
  CALL    scripts/atomic/check-atomics.sh
  CHK     include/generated/compile.h
Kernel: arch/x86/boot/bzImage is ready  (#1)
  Building modules, stage 2.
  MODPOST 122 modules
ERROR: "__udivdi3" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
scripts/Makefile.modpost:93: recipe for target '__modpost' failed
make[1]: *** [__modpost] Error 1
Makefile:1282: recipe for target 'modules' failed
make: *** [modules] Error 2

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16162/build_32bit.log
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-01-18  3:20 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-17 22:00 [Intel-gfx] [PATCH] drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list Chris Wilson
2020-01-17 22:06 ` Chris Wilson
2020-01-17 22:29 ` [Intel-gfx] [PATCH v2] " Chris Wilson
2020-01-18  2:38 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/gem: Store mmap_offsets in an rbtree rather than a plain list (rev2) Patchwork
2020-01-18  3:20 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2020-01-18  3:20 ` [Intel-gfx] ✗ Fi.CI.BUILD: warning " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).