[PATCH] Input: mtk-pmic-keys: Fix null pointer dereference when no compatible data

Nícolas F. R. A. Prado nfraprado at collabora.com
Mon Jun 30 12:59:46 PDT 2025


On Mon, 2025-06-30 at 08:25 -0700, Dmitry Torokhov wrote:
> On Mon, Jun 30, 2025 at 04:06:53PM +0200, AngeloGioacchino Del Regno
> wrote:
> > Il 30/06/25 16:03, Louis-Alexis Eyraud ha scritto:
> 
> [... snip ...]
> 
> > > @@ -316,6 +316,9 @@ static int mtk_pmic_keys_probe(struct
> > > platform_device *pdev)
> > >         const struct of_device_id *of_id =
> > >                 of_match_device(of_mtk_pmic_keys_match_tbl,
> > > &pdev->dev);
> > > +       if (!of_id)
> > > +               return -EINVAL;
> > 
> > Please, change this to `return -ENODEV;`
> 
> No, this definitely should not be a "silent" error because it
> indicates
> there is something wrong with the kernel.
> 
> Stepping back, why do we even enter mtk_pmic_keys_probe() if there is
> not a matching OF ID? Are there any other patches that are not
> upstream?

I'm guessing it's because the driver can be probed by a parent MFD
driver, drivers/mfd/mt6397-core.c, and the compatibles defined in the
MFD don't necessarily match the ones in the pmic-keys driver, for
instance 'mediatek,mt6359-keys' is only listed in the MFD. Adding the
missing compatibles to the pmic-keys driver should fix this.


-- 
Thanks,

Nícolas



More information about the Linux-mediatek mailing list