[linux-next:master 3464/7963] drivers/gpu/drm/i915/gt/selftest_hangcheck.c:455:62: error: variable 'err' is uninitialized when used here

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   4b358aabb93a2c654cd1dcab1a25a589f6e2b153
commit: 3f5dff6c18aa0473158686f363184a1bdae0116b [3464/7963] drm/i915/selftest: Better error reporting from hangcheck selftest
config: x86_64-randconfig-a011-20210814 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 62df4df41c939205b2dc0a2a3bfb75b8c1ed74fa)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=3f5dff6c18aa0473158686f363184a1bdae0116b
        git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
        git fetch --no-tags linux-next master
        git checkout 3f5dff6c18aa0473158686f363184a1bdae0116b
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

   In file included from drivers/gpu/drm/i915/gt/intel_reset.c:1514:
>> drivers/gpu/drm/i915/gt/selftest_hangcheck.c:455:62: error: variable 'err' is uninitialized when used here [-Werror,-Wuninitialized]
                           pr_err("[%s] Create context failed: %d!\n", engine->name, err);
                                                                                     ^~~
   include/linux/printk.h:390:33: note: expanded from macro 'pr_err'
           printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
                                          ^~~~~~~~~~~
   drivers/gpu/drm/i915/gt/selftest_hangcheck.c:451:10: note: initialize the variable 'err' to silence this warning
                   int err;
                          ^
                           = 0
   drivers/gpu/drm/i915/gt/selftest_hangcheck.c:566:62: error: variable 'err' is uninitialized when used here [-Werror,-Wuninitialized]
                           pr_err("[%s] Create context failed: %d!\n", engine->name, err);
                                                                                     ^~~
   include/linux/printk.h:390:33: note: expanded from macro 'pr_err'
           printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
                                          ^~~~~~~~~~~
   drivers/gpu/drm/i915/gt/selftest_hangcheck.c:562:10: note: initialize the variable 'err' to silence this warning
                   int err;
                          ^
                           = 0
   2 errors generated.


vim +/err +455 drivers/gpu/drm/i915/gt/selftest_hangcheck.c

   434	
   435	static int igt_reset_nop_engine(void *arg)
   436	{
   437		struct intel_gt *gt = arg;
   438		struct i915_gpu_error *global = &gt->i915->gpu_error;
   439		struct intel_engine_cs *engine;
   440		enum intel_engine_id id;
   441	
   442		/* Check that we can engine-reset during non-user portions */
   443	
   444		if (!intel_has_reset_engine(gt))
   445			return 0;
   446	
   447		for_each_engine(engine, gt, id) {
   448			unsigned int reset_count, reset_engine_count, count;
   449			struct intel_context *ce;
   450			IGT_TIMEOUT(end_time);
   451			int err;
   452	
   453			ce = intel_context_create(engine);
   454			if (IS_ERR(ce)) {
 > 455				pr_err("[%s] Create context failed: %d!\n", engine->name, err);
   456				return PTR_ERR(ce);
   457			}
   458	
   459			reset_count = i915_reset_count(global);
   460			reset_engine_count = i915_reset_engine_count(global, engine);
   461			count = 0;
   462	
   463			st_engine_heartbeat_disable(engine);
   464			set_bit(I915_RESET_ENGINE + id, &gt->reset.flags);
   465			do {
   466				int i;
   467	
   468				if (!wait_for_idle(engine)) {
   469					pr_err("%s failed to idle before reset\n",
   470					       engine->name);
   471					err = -EIO;
   472					break;
   473				}
   474	
   475				for (i = 0; i < 16; i++) {
   476					struct i915_request *rq;
   477	
   478					rq = intel_context_create_request(ce);
   479					if (IS_ERR(rq)) {
   480						struct drm_printer p =
   481							drm_info_printer(gt->i915->drm.dev);
   482						intel_engine_dump(engine, &p,
   483								  "%s(%s): failed to submit request\n",
   484								  __func__,
   485								  engine->name);
   486	
   487						GEM_TRACE("%s(%s): failed to submit request\n",
   488							  __func__,
   489							  engine->name);
   490						GEM_TRACE_DUMP();
   491	
   492						intel_gt_set_wedged(gt);
   493	
   494						err = PTR_ERR(rq);
   495						break;
   496					}
   497	
   498					i915_request_add(rq);
   499				}
   500				err = intel_engine_reset(engine, NULL);
   501				if (err) {
   502					pr_err("intel_engine_reset(%s) failed, err:%d\n",
   503					       engine->name, err);
   504					break;
   505				}
   506	
   507				if (i915_reset_count(global) != reset_count) {
   508					pr_err("Full GPU reset recorded! (engine reset expected)\n");
   509					err = -EINVAL;
   510					break;
   511				}
   512	
   513				if (i915_reset_engine_count(global, engine) !=
   514				    reset_engine_count + ++count) {
   515					pr_err("%s engine reset not recorded!\n",
   516					       engine->name);
   517					err = -EINVAL;
   518					break;
   519				}
   520			} while (time_before(jiffies, end_time));
   521			clear_bit(I915_RESET_ENGINE + id, &gt->reset.flags);
   522			st_engine_heartbeat_enable(engine);
   523	
   524			pr_info("%s(%s): %d resets\n", __func__, engine->name, count);
   525	
   526			intel_context_put(ce);
   527			if (igt_flush_test(gt->i915))
   528				err = -EIO;
   529			if (err)
   530				return err;
   531		}
   532	
   533		return 0;
   534	}
   535	

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

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux