| From | Maxime Ripard <> | Date | Tue, 28 Nov 2023 11:24:16 +0100 | Subject | [PATCH v4 05/45] drm/connector: Check drm_connector_init pointers arguments |
| |
All the drm_connector_init variants take at least a pointer to the device, connector and hooks implementation.
However, none of them check their value before dereferencing those pointers which can lead to a NULL-pointer dereference if the author isn't careful.
Let's test those pointers instead and error out if any is NULL.
Signed-off-by: Maxime Ripard <mripard@kernel.org> --- drivers/gpu/drm/drm_connector.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index b0516505f7ae..2f60755dccdd 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -229,6 +229,9 @@ static int __drm_connector_init(struct drm_device *dev, struct ida *connector_ida = &drm_connector_enum_list[connector_type].ida; + if (!dev || !connector || !funcs) + return -EINVAL; + WARN_ON(drm_drv_uses_atomic_modeset(dev) && (!funcs->atomic_destroy_state || !funcs->atomic_duplicate_state)); -- 2.41.0
|