Messages in this thread | | | Date | Tue, 28 Nov 2023 14:29:40 +0100 | From | Maxime Ripard <> | Subject | Re: [PATCH v4 05/45] drm/connector: Check drm_connector_init pointers arguments |
| |
Hi Jani,
On Tue, Nov 28, 2023 at 02:54:02PM +0200, Jani Nikula wrote: > On Tue, 28 Nov 2023, Maxime Ripard <mripard@kernel.org> wrote: > > 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. > > Arguably oopsing on the spot is preferrable when this can't be caused by > user input. It's always a mistake that should be caught early during > development. > > Not everyone checks the return value of drm_connector_init and friends, > so those cases will lead to more mysterious bugs later. And probably > oopses as well.
So maybe we can do both then, with something like
if (WARN_ON(!dev)) return -EINVAL
if (drm_WARN_ON(dev, !connector || !funcs)) return -EINVAL;
I'd still like to check for this, so we can have proper testing, and we already check for those pointers in some places (like funcs in drm_connector_init), so if we don't cover everything we're inconsistent.
Maxime [unhandled content-type:application/pgp-signature] | |