All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org
Subject: Re: [Intel-gfx] [PATCH 18/61] drm/i915: Make ring submission compatible with obj->mm.lock removal.
Date: Wed, 07 Oct 2020 10:33:37 +0300	[thread overview]
Message-ID: <20201007073337.GM4282@kadam> (raw)
In-Reply-To: <20201002125939.50817-19-maarten.lankhorst@linux.intel.com>

[-- Attachment #1: Type: text/plain, Size: 3838 bytes --]

Hi Maarten,

url:    https://github.com/0day-ci/linux/commits/Maarten-Lankhorst/drm-i915-Remove-obj-mm-lock/20201002-210318
base:    4e9a7e28ea34e4b14e66cbc53fc004e4a93f5168
config: x86_64-randconfig-m001-20201005 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/gpu/drm/i915/gt/intel_ring_submission.c:1233 gen7_ctx_vma() warn: passing zero to 'ERR_PTR'
drivers/gpu/drm/i915/gt/intel_ring_submission.c:1251 gen7_ctx_vma() warn: passing zero to 'ERR_CAST'

Old smatch warnings:
drivers/gpu/drm/i915/gem/i915_gem_object.h:132 __i915_gem_object_lock() error: we previously assumed 'ww' could be null (see line 124)

vim +/ERR_PTR +1233 drivers/gpu/drm/i915/gt/intel_ring_submission.c

0ce63e139392e8d Maarten Lankhorst 2020-10-02  1222  static struct i915_vma *gen7_ctx_vma(struct intel_engine_cs *engine)
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1223  {
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1224  	struct drm_i915_gem_object *obj;
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1225  	struct i915_vma *vma;
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1226  	int size, err;
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1227  
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1228  	if (!IS_HASWELL(engine->i915) || engine->class != RENDER_CLASS)
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1229  		return 0;
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1230  
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1231  	err = gen7_ctx_switch_bb_setup(engine, NULL /* probe size */);
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1232  	if (err <= 0)
0ce63e139392e8d Maarten Lankhorst 2020-10-02 @1233  		return ERR_PTR(err);
                                                                ^^^^^^^^^^^^^^^^^^^
Returning NULL is maybe appropriate here if gen7_ctx_switch_bb_setup()
return zero.

0ce63e139392e8d Maarten Lankhorst 2020-10-02  1234  
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1235  	size = ALIGN(err, PAGE_SIZE);
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1236  
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1237  	obj = i915_gem_object_create_internal(engine->i915, size);
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1238  	if (IS_ERR(obj))
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1239  		return ERR_CAST(obj);
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1240  
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1241  	vma = i915_vma_instance(obj, engine->gt->vm, NULL);
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1242  	if (IS_ERR(vma)) {
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1243  		i915_gem_object_put(obj);
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1244  		return ERR_CAST(vma);
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1245  	}
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1246  
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1247  	vma->private = intel_context_create(engine); /* dummy residuals */
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1248  	if (IS_ERR(vma->private)) {
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1249  		vma->private = NULL;
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1250  		i915_gem_object_put(obj);
0ce63e139392e8d Maarten Lankhorst 2020-10-02 @1251  		return ERR_CAST(vma->private);

But it's obviously not intended here.

0ce63e139392e8d Maarten Lankhorst 2020-10-02  1252  	}
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1253  
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1254  	return vma;
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1255  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 37450 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: Re: [Intel-gfx] [PATCH 18/61] drm/i915: Make ring submission compatible with obj->mm.lock removal.
Date: Wed, 07 Oct 2020 10:33:37 +0300	[thread overview]
Message-ID: <20201007073337.GM4282@kadam> (raw)
In-Reply-To: <20201002125939.50817-19-maarten.lankhorst@linux.intel.com>

[-- Attachment #1: Type: text/plain, Size: 3838 bytes --]

Hi Maarten,

url:    https://github.com/0day-ci/linux/commits/Maarten-Lankhorst/drm-i915-Remove-obj-mm-lock/20201002-210318
base:    4e9a7e28ea34e4b14e66cbc53fc004e4a93f5168
config: x86_64-randconfig-m001-20201005 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/gpu/drm/i915/gt/intel_ring_submission.c:1233 gen7_ctx_vma() warn: passing zero to 'ERR_PTR'
drivers/gpu/drm/i915/gt/intel_ring_submission.c:1251 gen7_ctx_vma() warn: passing zero to 'ERR_CAST'

Old smatch warnings:
drivers/gpu/drm/i915/gem/i915_gem_object.h:132 __i915_gem_object_lock() error: we previously assumed 'ww' could be null (see line 124)

vim +/ERR_PTR +1233 drivers/gpu/drm/i915/gt/intel_ring_submission.c

0ce63e139392e8d Maarten Lankhorst 2020-10-02  1222  static struct i915_vma *gen7_ctx_vma(struct intel_engine_cs *engine)
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1223  {
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1224  	struct drm_i915_gem_object *obj;
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1225  	struct i915_vma *vma;
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1226  	int size, err;
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1227  
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1228  	if (!IS_HASWELL(engine->i915) || engine->class != RENDER_CLASS)
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1229  		return 0;
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1230  
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1231  	err = gen7_ctx_switch_bb_setup(engine, NULL /* probe size */);
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1232  	if (err <= 0)
0ce63e139392e8d Maarten Lankhorst 2020-10-02 @1233  		return ERR_PTR(err);
                                                                ^^^^^^^^^^^^^^^^^^^
Returning NULL is maybe appropriate here if gen7_ctx_switch_bb_setup()
return zero.

0ce63e139392e8d Maarten Lankhorst 2020-10-02  1234  
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1235  	size = ALIGN(err, PAGE_SIZE);
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1236  
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1237  	obj = i915_gem_object_create_internal(engine->i915, size);
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1238  	if (IS_ERR(obj))
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1239  		return ERR_CAST(obj);
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1240  
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1241  	vma = i915_vma_instance(obj, engine->gt->vm, NULL);
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1242  	if (IS_ERR(vma)) {
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1243  		i915_gem_object_put(obj);
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1244  		return ERR_CAST(vma);
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1245  	}
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1246  
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1247  	vma->private = intel_context_create(engine); /* dummy residuals */
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1248  	if (IS_ERR(vma->private)) {
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1249  		vma->private = NULL;
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1250  		i915_gem_object_put(obj);
0ce63e139392e8d Maarten Lankhorst 2020-10-02 @1251  		return ERR_CAST(vma->private);

But it's obviously not intended here.

0ce63e139392e8d Maarten Lankhorst 2020-10-02  1252  	}
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1253  
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1254  	return vma;
0ce63e139392e8d Maarten Lankhorst 2020-10-02  1255  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 37450 bytes --]

  reply	other threads:[~2020-10-07  7:33 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-02 12:58 [Intel-gfx] [PATCH 00/61] drm/i915: Remove obj->mm.lock! Maarten Lankhorst
2020-10-02 12:58 ` [Intel-gfx] [PATCH 01/61] drm/i915: Move cmd parser pinning to execbuffer Maarten Lankhorst
2020-10-02 12:58 ` [Intel-gfx] [PATCH 02/61] drm/i915: Add missing -EDEADLK handling to execbuf pinning Maarten Lankhorst
2020-10-02 12:58 ` [Intel-gfx] [PATCH 03/61] drm/i915: Do not share hwsp across contexts any more, v2 Maarten Lankhorst
2020-10-06 12:25   ` kernel test robot
2020-10-02 12:58 ` [Intel-gfx] [PATCH 04/61] drm/i915: Ensure we hold the object mutex in pin correctly Maarten Lankhorst
2020-10-02 12:58 ` [Intel-gfx] [PATCH 05/61] drm/i915: Add gem object locking to madvise Maarten Lankhorst
2020-10-02 12:58 ` [Intel-gfx] [PATCH 06/61] drm/i915: Move HAS_STRUCT_PAGE to obj->flags Maarten Lankhorst
2020-10-02 12:58 ` [Intel-gfx] [PATCH 07/61] drm/i915: Rework struct phys attachment handling Maarten Lankhorst
2020-10-02 12:58 ` [Intel-gfx] [PATCH 08/61] drm/i915: Convert i915_gem_object_attach_phys() to ww locking Maarten Lankhorst
2020-10-02 12:58 ` [Intel-gfx] [PATCH 09/61] drm/i915: make lockdep slightly happier about execbuf Maarten Lankhorst
2020-10-02 12:58 ` [Intel-gfx] [PATCH 10/61] drm/i915: Disable userptr pread/pwrite support Maarten Lankhorst
2020-10-02 20:14   ` Ruhl, Michael J
2020-10-12 14:13     ` Maarten Lankhorst
2020-10-19 17:54       ` Ruhl, Michael J
2020-10-02 12:58 ` [Intel-gfx] [PATCH 11/61] drm/i915: No longer allow exporting userptr through dma-buf Maarten Lankhorst
2020-10-02 12:58 ` [Intel-gfx] [PATCH 12/61] drm/i915: Reject more ioctls for userptr Maarten Lankhorst
2020-10-02 12:58 ` [Intel-gfx] [PATCH 13/61] drm/i915: Reject UNSYNCHRONIZED " Maarten Lankhorst
2020-10-02 12:58 ` [Intel-gfx] [PATCH 14/61] drm/i915: Fix userptr so we do not have to worry about obj->mm.lock Maarten Lankhorst
2020-10-02 12:58 ` [Intel-gfx] [PATCH 15/61] drm/i915: Flatten obj->mm.lock Maarten Lankhorst
2020-10-02 12:58 ` [Intel-gfx] [PATCH 16/61] drm/i915: Pin timeline map after first timeline pin Maarten Lankhorst
2020-10-02 23:08   ` kernel test robot
2020-10-02 12:58 ` [Intel-gfx] [PATCH 17/61] drm/i915: Populate logical context during first pin Maarten Lankhorst
2020-10-02 12:58 ` [Intel-gfx] [PATCH 18/61] drm/i915: Make ring submission compatible with obj->mm.lock removal Maarten Lankhorst
2020-10-07  7:33   ` Dan Carpenter [this message]
2020-10-07  7:33     ` Dan Carpenter
2020-10-02 12:58 ` [Intel-gfx] [PATCH 19/61] drm/i915: Handle ww locking in init_status_page Maarten Lankhorst
2020-10-02 12:58 ` [Intel-gfx] [PATCH 20/61] drm/i915: Rework clflush to work correctly without obj->mm.lock Maarten Lankhorst
2020-10-02 12:58 ` [Intel-gfx] [PATCH 21/61] drm/i915: Pass ww ctx to intel_pin_to_display_plane Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 22/61] drm/i915: Add object locking to vm_fault_cpu Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 23/61] drm/i915: Move pinning to inside engine_wa_list_verify() Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 24/61] drm/i915: Take reservation lock around i915_vma_pin Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 25/61] drm/i915: Make intel_init_workaround_bb more compatible with ww locking Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 26/61] drm/i915: Make __engine_unpark() " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 27/61] drm/i915: Take obj lock around set_domain ioctl Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 28/61] drm/i915: Defer pin calls in buffer pool until first use by caller Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 29/61] drm/i915: Fix pread/pwrite to work with new locking rules Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 30/61] drm/i915: Fix workarounds selftest, part 1 Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 31/61] drm/i915: Prepare for obj->mm.lock removal Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 32/61] drm/i915: Add igt_spinner_pin() to allow for ww locking around spinner Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 33/61] drm/i915: Add ww locking around vm_access() Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 34/61] drm/i915: Increase ww locking for perf Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 35/61] drm/i915: Lock ww in ucode objects correctly Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 36/61] drm/i915: Add ww locking to dma-buf ops Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 37/61] drm/i915: Add missing ww lock in intel_dsb_prepare Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 38/61] drm/i915: Fix ww locking in shmem_create_from_object Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 39/61] drm/i915: Use a single page table lock for each gtt Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 40/61] drm/i915/selftests: Prepare huge_pages testcases for obj->mm.lock removal Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 41/61] drm/i915/selftests: Prepare client blit " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 42/61] drm/i915/selftests: Prepare coherency tests " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 43/61] drm/i915/selftests: Prepare context " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 44/61] drm/i915/selftests: Prepare dma-buf " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 45/61] drm/i915/selftests: Prepare execbuf " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 46/61] drm/i915/selftests: Prepare mman testcases " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 47/61] drm/i915/selftests: Prepare object tests " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 48/61] drm/i915/selftests: Prepare object blit " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 49/61] drm/i915/selftests: Prepare igt_gem_utils " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 50/61] drm/i915/selftests: Prepare context selftest " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 51/61] drm/i915/selftests: Prepare hangcheck " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 52/61] drm/i915/selftests: Prepare execlists " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 53/61] drm/i915/selftests: Prepare mocs tests " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 54/61] drm/i915/selftests: Prepare ring submission " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 55/61] drm/i915/selftests: Prepare timeline tests " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 56/61] drm/i915/selftests: Prepare i915_request " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 57/61] drm/i915/selftests: Prepare memory region " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 58/61] drm/i915/selftests: Prepare cs engine " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 59/61] drm/i915/selftests: Prepare gtt " Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 60/61] drm/i915: Finally remove obj->mm.lock Maarten Lankhorst
2020-10-02 12:59 ` [Intel-gfx] [PATCH 61/61] drm/i915: Keep userpointer bindings if seqcount is unchanged Maarten Lankhorst
2020-10-02 13:53 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Remove obj->mm.lock! Patchwork
2020-10-02 18:01 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2020-10-02 18:38 ` [Intel-gfx] [PATCH 00/61] " Chris Wilson
  -- strict thread matches above, loose matches on Subject: below --
2020-10-07  2:36 [Intel-gfx] [PATCH 18/61] drm/i915: Make ring submission compatible with obj->mm.lock removal kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201007073337.GM4282@kadam \
    --to=dan.carpenter@oracle.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.