[Intel-gfx] [PATCH 1/5] drm/i915: Assert that the partial VMA fits within the object
kbuild test robot
lkp at intel.com
Thu Dec 22 11:55:59 UTC 2016
Hi Chris,
[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on next-20161222]
[cannot apply to v4.9]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Chris-Wilson/drm-i915-Assert-that-the-partial-VMA-fits-within-the-object/20161222-190222
base: git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-randconfig-s1-201651 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
All error/warnings (new ones prefixed by >>):
In file included from include/uapi/linux/stddef.h:1:0,
from include/linux/stddef.h:4,
from include/uapi/linux/posix_types.h:4,
from include/uapi/linux/types.h:13,
from include/linux/types.h:5,
from include/linux/io-mapping.h:21,
from drivers/gpu/drm/i915/i915_vma.h:28,
from drivers/gpu/drm/i915/i915_vma.c:25:
drivers/gpu/drm/i915/i915_vma.c: In function '__i915_vma_create':
>> drivers/gpu/drm/i915/i915_vma.c:98:15: error: implicit declaration of function 'range_overflows_t' [-Werror=implicit-function-declaration]
GEM_BUG_ON(range_overflows_t(u64,
^
include/linux/compiler.h:139:45: note: in definition of macro 'unlikely'
# define unlikely(x) (__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 0))
^
>> drivers/gpu/drm/i915/i915_gem.h:29:26: note: in expansion of macro 'BUG_ON'
#define GEM_BUG_ON(expr) BUG_ON(expr)
^~~~~~
>> drivers/gpu/drm/i915/i915_vma.c:98:4: note: in expansion of macro 'GEM_BUG_ON'
GEM_BUG_ON(range_overflows_t(u64,
^~~~~~~~~~
>> drivers/gpu/drm/i915/i915_vma.c:98:33: error: expected expression before 'u64'
GEM_BUG_ON(range_overflows_t(u64,
^
include/linux/compiler.h:139:45: note: in definition of macro 'unlikely'
# define unlikely(x) (__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 0))
^
>> drivers/gpu/drm/i915/i915_gem.h:29:26: note: in expansion of macro 'BUG_ON'
#define GEM_BUG_ON(expr) BUG_ON(expr)
^~~~~~
>> drivers/gpu/drm/i915/i915_vma.c:98:4: note: in expansion of macro 'GEM_BUG_ON'
GEM_BUG_ON(range_overflows_t(u64,
^~~~~~~~~~
>> drivers/gpu/drm/i915/i915_vma.c:98:33: error: expected expression before 'u64'
GEM_BUG_ON(range_overflows_t(u64,
^
include/linux/compiler.h:139:53: note: in definition of macro 'unlikely'
# define unlikely(x) (__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 0))
^
>> drivers/gpu/drm/i915/i915_gem.h:29:26: note: in expansion of macro 'BUG_ON'
#define GEM_BUG_ON(expr) BUG_ON(expr)
^~~~~~
>> drivers/gpu/drm/i915/i915_vma.c:98:4: note: in expansion of macro 'GEM_BUG_ON'
GEM_BUG_ON(range_overflows_t(u64,
^~~~~~~~~~
>> drivers/gpu/drm/i915/i915_vma.c:98:33: error: expected expression before 'u64'
GEM_BUG_ON(range_overflows_t(u64,
^
include/linux/compiler.h:112:47: note: in definition of macro 'likely_notrace'
#define likely_notrace(x) __builtin_expect(!!(x), 1)
^
include/linux/compiler.h:139:58: note: in expansion of macro '__branch_check__'
# define unlikely(x) (__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 0))
^~~~~~~~~~~~~~~~
include/asm-generic/bug.h:55:36: note: in expansion of macro 'unlikely'
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
^~~~~~~~
>> drivers/gpu/drm/i915/i915_gem.h:29:26: note: in expansion of macro 'BUG_ON'
#define GEM_BUG_ON(expr) BUG_ON(expr)
^~~~~~
>> drivers/gpu/drm/i915/i915_vma.c:98:4: note: in expansion of macro 'GEM_BUG_ON'
GEM_BUG_ON(range_overflows_t(u64,
^~~~~~~~~~
cc1: all warnings being treated as errors
vim +/range_overflows_t +98 drivers/gpu/drm/i915/i915_vma.c
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
21 * IN THE SOFTWARE.
22 *
23 */
24
> 25 #include "i915_vma.h"
26
27 #include "i915_drv.h"
28 #include "intel_ringbuffer.h"
29 #include "intel_frontbuffer.h"
30
31 #include <drm/drm_gem.h>
32
33 static void
34 i915_vma_retire(struct i915_gem_active *active,
35 struct drm_i915_gem_request *rq)
36 {
37 const unsigned int idx = rq->engine->id;
38 struct i915_vma *vma =
39 container_of(active, struct i915_vma, last_read[idx]);
40 struct drm_i915_gem_object *obj = vma->obj;
41
42 GEM_BUG_ON(!i915_vma_has_active_engine(vma, idx));
43
44 i915_vma_clear_active(vma, idx);
45 if (i915_vma_is_active(vma))
46 return;
47
48 list_move_tail(&vma->vm_link, &vma->vm->inactive_list);
49 if (unlikely(i915_vma_is_closed(vma) && !i915_vma_is_pinned(vma)))
50 WARN_ON(i915_vma_unbind(vma));
51
52 GEM_BUG_ON(!i915_gem_object_is_active(obj));
53 if (--obj->active_count)
54 return;
55
56 /* Bump our place on the bound list to keep it roughly in LRU order
57 * so that we don't steal from recently used but inactive objects
58 * (unless we are forced to ofc!)
59 */
60 if (obj->bind_count)
61 list_move_tail(&obj->global_link, &rq->i915->mm.bound_list);
62
63 obj->mm.dirty = true; /* be paranoid */
64
65 if (i915_gem_object_has_active_reference(obj)) {
66 i915_gem_object_clear_active_reference(obj);
67 i915_gem_object_put(obj);
68 }
69 }
70
71 static struct i915_vma *
72 __i915_vma_create(struct drm_i915_gem_object *obj,
73 struct i915_address_space *vm,
74 const struct i915_ggtt_view *view)
75 {
76 struct i915_vma *vma;
77 struct rb_node *rb, **p;
78 int i;
79
80 GEM_BUG_ON(vm->closed);
81
82 vma = kmem_cache_zalloc(to_i915(obj->base.dev)->vmas, GFP_KERNEL);
83 if (vma == NULL)
84 return ERR_PTR(-ENOMEM);
85
86 INIT_LIST_HEAD(&vma->exec_list);
87 for (i = 0; i < ARRAY_SIZE(vma->last_read); i++)
88 init_request_active(&vma->last_read[i], i915_vma_retire);
89 init_request_active(&vma->last_fence, NULL);
90 list_add(&vma->vm_link, &vm->unbound_list);
91 vma->vm = vm;
92 vma->obj = obj;
93 vma->size = obj->base.size;
94
95 if (view) {
96 vma->ggtt_view = *view;
97 if (view->type == I915_GGTT_VIEW_PARTIAL) {
> 98 GEM_BUG_ON(range_overflows_t(u64,
99 view->params.partial.offset,
100 view->params.partial.size,
101 obj->base.size >> PAGE_SHIFT));
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 33184 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20161222/007500a3/attachment-0001.gz>
More information about the Intel-gfx
mailing list