CC: [email protected] CC: [email protected] TO: Tvrtko Ursulin <[email protected]> CC: Chris Wilson <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 18445bf405cb331117bc98427b1ba6f12418ad17 commit: fb26eee0600dbd6b2eb20356b7d425cb71413ea2 drm/i915/pmu: Fix uninitialized variable on error path date: 10 months ago :::::: branch date: 29 hours ago :::::: commit date: 10 months ago 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 <[email protected]> cppcheck warnings: (new ones prefixed by >>) In file included from drivers/gpu/drm/i915/i915_pmu.c: >> drivers/gpu/drm/i915/i915_pmu.c:1131:6: warning: Variable 'ret' is >> reassigned a value before the old one has been used. [redundantAssignment] ret = perf_pmu_register(&pmu->base, pmu->name, -1); ^ drivers/gpu/drm/i915/i915_pmu.c:1097:0: note: Variable 'ret' is reassigned a value before the old one has been used. int ret = -ENOMEM; ^ drivers/gpu/drm/i915/i915_pmu.c:1131:6: note: Variable 'ret' is reassigned a value before the old one has been used. ret = perf_pmu_register(&pmu->base, pmu->name, -1); ^ # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fb26eee0600dbd6b2eb20356b7d425cb71413ea2 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout fb26eee0600dbd6b2eb20356b7d425cb71413ea2 vim +/ret +1131 drivers/gpu/drm/i915/i915_pmu.c 05488673a4d413 Tvrtko Ursulin 2019-10-16 1093 b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1094 void i915_pmu_register(struct drm_i915_private *i915) b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1095 { 908091c85003d0 Tvrtko Ursulin 2019-08-01 1096 struct i915_pmu *pmu = &i915->pmu; fb26eee0600dbd Tvrtko Ursulin 2019-10-18 1097 int ret = -ENOMEM; b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1098 b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1099 if (INTEL_GEN(i915) <= 2) { 88f8065ca73ff8 Chris Wilson 2019-08-15 1100 dev_info(i915->drm.dev, "PMU not supported for this GPU."); b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1101 return; b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1102 } b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1103 908091c85003d0 Tvrtko Ursulin 2019-08-01 1104 i915_pmu_events_attr_group.attrs = create_event_attributes(pmu); fb26eee0600dbd Tvrtko Ursulin 2019-10-18 1105 if (!i915_pmu_events_attr_group.attrs) 109ec558370f78 Tvrtko Ursulin 2018-01-11 1106 goto err; 109ec558370f78 Tvrtko Ursulin 2018-01-11 1107 908091c85003d0 Tvrtko Ursulin 2019-08-01 1108 pmu->base.attr_groups = i915_pmu_attr_groups; 908091c85003d0 Tvrtko Ursulin 2019-08-01 1109 pmu->base.task_ctx_nr = perf_invalid_context; 908091c85003d0 Tvrtko Ursulin 2019-08-01 1110 pmu->base.event_init = i915_pmu_event_init; 908091c85003d0 Tvrtko Ursulin 2019-08-01 1111 pmu->base.add = i915_pmu_event_add; 908091c85003d0 Tvrtko Ursulin 2019-08-01 1112 pmu->base.del = i915_pmu_event_del; 908091c85003d0 Tvrtko Ursulin 2019-08-01 1113 pmu->base.start = i915_pmu_event_start; 908091c85003d0 Tvrtko Ursulin 2019-08-01 1114 pmu->base.stop = i915_pmu_event_stop; 908091c85003d0 Tvrtko Ursulin 2019-08-01 1115 pmu->base.read = i915_pmu_event_read; 908091c85003d0 Tvrtko Ursulin 2019-08-01 1116 pmu->base.event_idx = i915_pmu_event_event_idx; b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1117 908091c85003d0 Tvrtko Ursulin 2019-08-01 1118 spin_lock_init(&pmu->lock); 908091c85003d0 Tvrtko Ursulin 2019-08-01 1119 hrtimer_init(&pmu->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 908091c85003d0 Tvrtko Ursulin 2019-08-01 1120 pmu->timer.function = i915_sample; b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1121 05488673a4d413 Tvrtko Ursulin 2019-10-16 1122 if (!is_igp(i915)) 05488673a4d413 Tvrtko Ursulin 2019-10-16 1123 pmu->name = kasprintf(GFP_KERNEL, 05488673a4d413 Tvrtko Ursulin 2019-10-16 1124 "i915-%s", 05488673a4d413 Tvrtko Ursulin 2019-10-16 1125 dev_name(i915->drm.dev)); 05488673a4d413 Tvrtko Ursulin 2019-10-16 1126 else 05488673a4d413 Tvrtko Ursulin 2019-10-16 1127 pmu->name = "i915"; 05488673a4d413 Tvrtko Ursulin 2019-10-16 1128 if (!pmu->name) b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1129 goto err; b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1130 05488673a4d413 Tvrtko Ursulin 2019-10-16 @1131 ret = perf_pmu_register(&pmu->base, pmu->name, -1); 05488673a4d413 Tvrtko Ursulin 2019-10-16 1132 if (ret) 05488673a4d413 Tvrtko Ursulin 2019-10-16 1133 goto err_name; 05488673a4d413 Tvrtko Ursulin 2019-10-16 1134 908091c85003d0 Tvrtko Ursulin 2019-08-01 1135 ret = i915_pmu_register_cpuhp_state(pmu); b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1136 if (ret) b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1137 goto err_unreg; b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1138 b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1139 return; b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1140 b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1141 err_unreg: 908091c85003d0 Tvrtko Ursulin 2019-08-01 1142 perf_pmu_unregister(&pmu->base); 05488673a4d413 Tvrtko Ursulin 2019-10-16 1143 err_name: 05488673a4d413 Tvrtko Ursulin 2019-10-16 1144 if (!is_igp(i915)) 05488673a4d413 Tvrtko Ursulin 2019-10-16 1145 kfree(pmu->name); b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1146 err: 908091c85003d0 Tvrtko Ursulin 2019-08-01 1147 pmu->base.event_init = NULL; 908091c85003d0 Tvrtko Ursulin 2019-08-01 1148 free_event_attributes(pmu); b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1149 DRM_NOTE("Failed to register PMU! (err=%d)\n", ret); b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1150 } b46a33e271ed81 Tvrtko Ursulin 2017-11-21 1151 :::::: The code at line 1131 was first introduced by commit :::::: 05488673a4d41383f9dd537f298e525e6b00fb93 drm/i915/pmu: Support multiple GPUs :::::: TO: Tvrtko Ursulin <[email protected]> :::::: CC: Tvrtko Ursulin <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected] _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
