All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value
@ 2017-07-07  6:27 Gustavo A. R. Silva
  2017-07-07  7:42   ` Jon Hunter
  0 siblings, 1 reply; 7+ messages in thread
From: Gustavo A. R. Silva @ 2017-07-07  6:27 UTC (permalink / raw)
  To: Rakesh Iyer, Laxman Dewangan, Dmitry Torokhov, Thierry Reding,
	Jonathan Hunter
  Cc: linux-input, linux-tegra, linux-kernel, Gustavo A. R. Silva

Check return value from call to of_match_device()
in order to prevent a NULL pointer dereference.

In case of NULL print error message and return -ENODEV

Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
---
 drivers/input/keyboard/tegra-kbc.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/input/keyboard/tegra-kbc.c b/drivers/input/keyboard/tegra-kbc.c
index 0c07e10..742c5ac 100644
--- a/drivers/input/keyboard/tegra-kbc.c
+++ b/drivers/input/keyboard/tegra-kbc.c
@@ -617,6 +617,10 @@ static int tegra_kbc_probe(struct platform_device *pdev)
 	const struct of_device_id *match;
 
 	match = of_match_device(tegra_kbc_of_match, &pdev->dev);
+	if (!match) {
+		dev_err(&pdev->dev, "failed to match device\n");
+		return -ENODEV;
+	}
 
 	kbc = devm_kzalloc(&pdev->dev, sizeof(*kbc), GFP_KERNEL);
 	if (!kbc) {
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value
  2017-07-07  6:27 [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value Gustavo A. R. Silva
@ 2017-07-07  7:42   ` Jon Hunter
  0 siblings, 0 replies; 7+ messages in thread
From: Jon Hunter @ 2017-07-07  7:42 UTC (permalink / raw)
  To: Gustavo A. R. Silva, Rakesh Iyer, Laxman Dewangan,
	Dmitry Torokhov, Thierry Reding
  Cc: linux-input-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA


On 07/07/17 07:27, Gustavo A. R. Silva wrote:
> Check return value from call to of_match_device()
> in order to prevent a NULL pointer dereference.
> 
> In case of NULL print error message and return -ENODEV
> 
> Signed-off-by: Gustavo A. R. Silva <garsilva-L1vi/lXTdts+Va1GwOuvDg@public.gmane.org>
> ---
>  drivers/input/keyboard/tegra-kbc.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/input/keyboard/tegra-kbc.c b/drivers/input/keyboard/tegra-kbc.c
> index 0c07e10..742c5ac 100644
> --- a/drivers/input/keyboard/tegra-kbc.c
> +++ b/drivers/input/keyboard/tegra-kbc.c
> @@ -617,6 +617,10 @@ static int tegra_kbc_probe(struct platform_device *pdev)
>  	const struct of_device_id *match;
>  
>  	match = of_match_device(tegra_kbc_of_match, &pdev->dev);
> +	if (!match) {
> +		dev_err(&pdev->dev, "failed to match device\n");
> +		return -ENODEV;
> +	}

Given that Tegra always uses device-tree, I believe that this cannot
happen and so this additional check is not needed.

Jon

-- 
nvpublic

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value
@ 2017-07-07  7:42   ` Jon Hunter
  0 siblings, 0 replies; 7+ messages in thread
From: Jon Hunter @ 2017-07-07  7:42 UTC (permalink / raw)
  To: Gustavo A. R. Silva, Rakesh Iyer, Laxman Dewangan,
	Dmitry Torokhov, Thierry Reding
  Cc: linux-input, linux-tegra, linux-kernel


On 07/07/17 07:27, Gustavo A. R. Silva wrote:
> Check return value from call to of_match_device()
> in order to prevent a NULL pointer dereference.
> 
> In case of NULL print error message and return -ENODEV
> 
> Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
> ---
>  drivers/input/keyboard/tegra-kbc.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/input/keyboard/tegra-kbc.c b/drivers/input/keyboard/tegra-kbc.c
> index 0c07e10..742c5ac 100644
> --- a/drivers/input/keyboard/tegra-kbc.c
> +++ b/drivers/input/keyboard/tegra-kbc.c
> @@ -617,6 +617,10 @@ static int tegra_kbc_probe(struct platform_device *pdev)
>  	const struct of_device_id *match;
>  
>  	match = of_match_device(tegra_kbc_of_match, &pdev->dev);
> +	if (!match) {
> +		dev_err(&pdev->dev, "failed to match device\n");
> +		return -ENODEV;
> +	}

Given that Tegra always uses device-tree, I believe that this cannot
happen and so this additional check is not needed.

Jon

-- 
nvpublic

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value
  2017-07-07  7:42   ` Jon Hunter
  (?)
@ 2017-07-07  9:30   ` Thierry Reding
  2017-07-10 17:42     ` Dmitry Torokhov
  2017-07-10 19:27     ` Gustavo A. R. Silva
  -1 siblings, 2 replies; 7+ messages in thread
From: Thierry Reding @ 2017-07-07  9:30 UTC (permalink / raw)
  To: Jon Hunter
  Cc: Gustavo A. R. Silva, Rakesh Iyer, Laxman Dewangan,
	Dmitry Torokhov, linux-input, linux-tegra, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1421 bytes --]

On Fri, Jul 07, 2017 at 08:42:32AM +0100, Jon Hunter wrote:
> 
> On 07/07/17 07:27, Gustavo A. R. Silva wrote:
> > Check return value from call to of_match_device()
> > in order to prevent a NULL pointer dereference.
> > 
> > In case of NULL print error message and return -ENODEV
> > 
> > Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
> > ---
> >  drivers/input/keyboard/tegra-kbc.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/drivers/input/keyboard/tegra-kbc.c b/drivers/input/keyboard/tegra-kbc.c
> > index 0c07e10..742c5ac 100644
> > --- a/drivers/input/keyboard/tegra-kbc.c
> > +++ b/drivers/input/keyboard/tegra-kbc.c
> > @@ -617,6 +617,10 @@ static int tegra_kbc_probe(struct platform_device *pdev)
> >  	const struct of_device_id *match;
> >  
> >  	match = of_match_device(tegra_kbc_of_match, &pdev->dev);
> > +	if (!match) {
> > +		dev_err(&pdev->dev, "failed to match device\n");
> > +		return -ENODEV;
> > +	}
> 
> Given that Tegra always uses device-tree, I believe that this cannot
> happen and so this additional check is not needed.

I think you can make it happen if you manually create the platform
device with a name matching that of the driver. But you really shouldn't
be doing that, so might as well let it crash and burn so that people
realize their mistake early.

Errors are easily overlooked, crashes are not.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value
  2017-07-07  9:30   ` Thierry Reding
@ 2017-07-10 17:42     ` Dmitry Torokhov
  2017-07-10 19:24       ` Gustavo A. R. Silva
  2017-07-10 19:27     ` Gustavo A. R. Silva
  1 sibling, 1 reply; 7+ messages in thread
From: Dmitry Torokhov @ 2017-07-10 17:42 UTC (permalink / raw)
  To: Thierry Reding
  Cc: Jon Hunter, Gustavo A. R. Silva, Rakesh Iyer, Laxman Dewangan,
	linux-input, linux-tegra, linux-kernel

On Fri, Jul 07, 2017 at 11:30:41AM +0200, Thierry Reding wrote:
> On Fri, Jul 07, 2017 at 08:42:32AM +0100, Jon Hunter wrote:
> > 
> > On 07/07/17 07:27, Gustavo A. R. Silva wrote:
> > > Check return value from call to of_match_device()
> > > in order to prevent a NULL pointer dereference.
> > > 
> > > In case of NULL print error message and return -ENODEV
> > > 
> > > Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
> > > ---
> > >  drivers/input/keyboard/tegra-kbc.c | 4 ++++
> > >  1 file changed, 4 insertions(+)
> > > 
> > > diff --git a/drivers/input/keyboard/tegra-kbc.c b/drivers/input/keyboard/tegra-kbc.c
> > > index 0c07e10..742c5ac 100644
> > > --- a/drivers/input/keyboard/tegra-kbc.c
> > > +++ b/drivers/input/keyboard/tegra-kbc.c
> > > @@ -617,6 +617,10 @@ static int tegra_kbc_probe(struct platform_device *pdev)
> > >  	const struct of_device_id *match;
> > >  
> > >  	match = of_match_device(tegra_kbc_of_match, &pdev->dev);
> > > +	if (!match) {
> > > +		dev_err(&pdev->dev, "failed to match device\n");
> > > +		return -ENODEV;
> > > +	}
> > 
> > Given that Tegra always uses device-tree, I believe that this cannot
> > happen and so this additional check is not needed.
> 
> I think you can make it happen if you manually create the platform
> device with a name matching that of the driver. But you really shouldn't
> be doing that, so might as well let it crash and burn so that people
> realize their mistake early.
> 
> Errors are easily overlooked, crashes are not.

Agree.

Thanks.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value
  2017-07-10 17:42     ` Dmitry Torokhov
@ 2017-07-10 19:24       ` Gustavo A. R. Silva
  0 siblings, 0 replies; 7+ messages in thread
From: Gustavo A. R. Silva @ 2017-07-10 19:24 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: Thierry Reding, Jon Hunter, Rakesh Iyer, Laxman Dewangan,
	linux-input, linux-tegra, linux-kernel

Hi all,

Quoting Dmitry Torokhov <dmitry.torokhov@gmail.com>:

> On Fri, Jul 07, 2017 at 11:30:41AM +0200, Thierry Reding wrote:
>> On Fri, Jul 07, 2017 at 08:42:32AM +0100, Jon Hunter wrote:
>> >
>> > On 07/07/17 07:27, Gustavo A. R. Silva wrote:
>> > > Check return value from call to of_match_device()
>> > > in order to prevent a NULL pointer dereference.
>> > >
>> > > In case of NULL print error message and return -ENODEV
>> > >
>> > > Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
>> > > ---
>> > >  drivers/input/keyboard/tegra-kbc.c | 4 ++++
>> > >  1 file changed, 4 insertions(+)
>> > >
>> > > diff --git a/drivers/input/keyboard/tegra-kbc.c  
>> b/drivers/input/keyboard/tegra-kbc.c
>> > > index 0c07e10..742c5ac 100644
>> > > --- a/drivers/input/keyboard/tegra-kbc.c
>> > > +++ b/drivers/input/keyboard/tegra-kbc.c
>> > > @@ -617,6 +617,10 @@ static int tegra_kbc_probe(struct  
>> platform_device *pdev)
>> > >  	const struct of_device_id *match;
>> > >
>> > >  	match = of_match_device(tegra_kbc_of_match, &pdev->dev);
>> > > +	if (!match) {
>> > > +		dev_err(&pdev->dev, "failed to match device\n");
>> > > +		return -ENODEV;
>> > > +	}
>> >
>> > Given that Tegra always uses device-tree, I believe that this cannot
>> > happen and so this additional check is not needed.
>>
>> I think you can make it happen if you manually create the platform
>> device with a name matching that of the driver. But you really shouldn't
>> be doing that, so might as well let it crash and burn so that people
>> realize their mistake early.
>>
>> Errors are easily overlooked, crashes are not.
>
> Agree.
>

I get it.

Thanks for clarifying.
--
Gustavo A. R. Silva

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value
  2017-07-07  9:30   ` Thierry Reding
  2017-07-10 17:42     ` Dmitry Torokhov
@ 2017-07-10 19:27     ` Gustavo A. R. Silva
  1 sibling, 0 replies; 7+ messages in thread
From: Gustavo A. R. Silva @ 2017-07-10 19:27 UTC (permalink / raw)
  To: Thierry Reding
  Cc: Jon Hunter, Rakesh Iyer, Laxman Dewangan, Dmitry Torokhov,
	linux-input, linux-tegra, linux-kernel

Hi all,

Quoting Thierry Reding <thierry.reding@gmail.com>:

> On Fri, Jul 07, 2017 at 08:42:32AM +0100, Jon Hunter wrote:
>>
>> On 07/07/17 07:27, Gustavo A. R. Silva wrote:
>> > Check return value from call to of_match_device()
>> > in order to prevent a NULL pointer dereference.
>> >
>> > In case of NULL print error message and return -ENODEV
>> >
>> > Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
>> > ---
>> >  drivers/input/keyboard/tegra-kbc.c | 4 ++++
>> >  1 file changed, 4 insertions(+)
>> >
>> > diff --git a/drivers/input/keyboard/tegra-kbc.c  
>> b/drivers/input/keyboard/tegra-kbc.c
>> > index 0c07e10..742c5ac 100644
>> > --- a/drivers/input/keyboard/tegra-kbc.c
>> > +++ b/drivers/input/keyboard/tegra-kbc.c
>> > @@ -617,6 +617,10 @@ static int tegra_kbc_probe(struct  
>> platform_device *pdev)
>> >  	const struct of_device_id *match;
>> >
>> >  	match = of_match_device(tegra_kbc_of_match, &pdev->dev);
>> > +	if (!match) {
>> > +		dev_err(&pdev->dev, "failed to match device\n");
>> > +		return -ENODEV;
>> > +	}
>>
>> Given that Tegra always uses device-tree, I believe that this cannot
>> happen and so this additional check is not needed.
>
> I think you can make it happen if you manually create the platform
> device with a name matching that of the driver. But you really shouldn't
> be doing that, so might as well let it crash and burn so that people
> realize their mistake early.
>
> Errors are easily overlooked, crashes are not.
>

I get it.

Thanks for clarifying.
--
Gustavo A. R. Silva

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-07-10 19:27 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-07  6:27 [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value Gustavo A. R. Silva
2017-07-07  7:42 ` Jon Hunter
2017-07-07  7:42   ` Jon Hunter
2017-07-07  9:30   ` Thierry Reding
2017-07-10 17:42     ` Dmitry Torokhov
2017-07-10 19:24       ` Gustavo A. R. Silva
2017-07-10 19:27     ` Gustavo A. R. Silva

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.