Skip to content

Commit 471aa95

Browse files
harshimogalapallijnikula
authored andcommitted
i915/perf: Fix NULL deref bugs with drm_dbg() calls
When i915 perf interface is not available dereferencing it will lead to NULL dereferences. As returning -ENOTSUPP is pretty clear return when perf interface is not available. Fixes: 2fec539 ("i915/perf: Replace DRM_DEBUG with driver specific drm_dbg call") Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: <stable@vger.kernel.org> # v6.0+ Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20231027172822.2753059-1-harshit.m.mogalapalli@oracle.com [tursulin: added stable tag] (cherry picked from commit 36f2735) Signed-off-by: Jani Nikula <jani.nikula@intel.com>
1 parent ce4941c commit 471aa95

File tree

1 file changed

+3
-12
lines changed

1 file changed

+3
-12
lines changed

drivers/gpu/drm/i915/i915_perf.c

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4227,11 +4227,8 @@ int i915_perf_open_ioctl(struct drm_device *dev, void *data,
42274227
u32 known_open_flags;
42284228
int ret;
42294229

4230-
if (!perf->i915) {
4231-
drm_dbg(&perf->i915->drm,
4232-
"i915 perf interface not available for this system\n");
4230+
if (!perf->i915)
42334231
return -ENOTSUPP;
4234-
}
42354232

42364233
known_open_flags = I915_PERF_FLAG_FD_CLOEXEC |
42374234
I915_PERF_FLAG_FD_NONBLOCK |
@@ -4607,11 +4604,8 @@ int i915_perf_add_config_ioctl(struct drm_device *dev, void *data,
46074604
struct i915_oa_reg *regs;
46084605
int err, id;
46094606

4610-
if (!perf->i915) {
4611-
drm_dbg(&perf->i915->drm,
4612-
"i915 perf interface not available for this system\n");
4607+
if (!perf->i915)
46134608
return -ENOTSUPP;
4614-
}
46154609

46164610
if (!perf->metrics_kobj) {
46174611
drm_dbg(&perf->i915->drm,
@@ -4773,11 +4767,8 @@ int i915_perf_remove_config_ioctl(struct drm_device *dev, void *data,
47734767
struct i915_oa_config *oa_config;
47744768
int ret;
47754769

4776-
if (!perf->i915) {
4777-
drm_dbg(&perf->i915->drm,
4778-
"i915 perf interface not available for this system\n");
4770+
if (!perf->i915)
47794771
return -ENOTSUPP;
4780-
}
47814772

47824773
if (i915_perf_stream_paranoid && !perfmon_capable()) {
47834774
drm_dbg(&perf->i915->drm,

0 commit comments

Comments
 (0)