drm/i915/debugfs: HDCP capability enc NULL check
DP-MST connector encoder initializes at modeset Adding a connector->encoder NULL check in order to avoid any NULL pointer dereference. intel_hdcp_enable() already handle this but debugfs can also invoke the intel_{hdcp,hdcp2_capable}. Handling it gracefully. v2: - Use necessary lock and NULL check in i915_hdcp_sink_capability_show. [Imre] Reviewed-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210211140502.22786-1-anshuman.gupta@intel.com
This commit is contained in:
parent
885d3e5b6f
commit
357b5592e0
@ -2198,16 +2198,27 @@ DEFINE_SHOW_ATTRIBUTE(i915_panel);
|
|||||||
static int i915_hdcp_sink_capability_show(struct seq_file *m, void *data)
|
static int i915_hdcp_sink_capability_show(struct seq_file *m, void *data)
|
||||||
{
|
{
|
||||||
struct drm_connector *connector = m->private;
|
struct drm_connector *connector = m->private;
|
||||||
|
struct drm_i915_private *i915 = to_i915(connector->dev);
|
||||||
struct intel_connector *intel_connector = to_intel_connector(connector);
|
struct intel_connector *intel_connector = to_intel_connector(connector);
|
||||||
|
int ret;
|
||||||
|
|
||||||
if (connector->status != connector_status_connected)
|
ret = drm_modeset_lock_single_interruptible(&i915->drm.mode_config.connection_mutex);
|
||||||
return -ENODEV;
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
if (!connector->encoder || connector->status != connector_status_connected) {
|
||||||
|
ret = -ENODEV;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
seq_printf(m, "%s:%d HDCP version: ", connector->name,
|
seq_printf(m, "%s:%d HDCP version: ", connector->name,
|
||||||
connector->base.id);
|
connector->base.id);
|
||||||
intel_hdcp_info(m, intel_connector);
|
intel_hdcp_info(m, intel_connector);
|
||||||
|
|
||||||
return 0;
|
out:
|
||||||
|
drm_modeset_unlock(&i915->drm.mode_config.connection_mutex);
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability);
|
DEFINE_SHOW_ATTRIBUTE(i915_hdcp_sink_capability);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user