Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1682946 > unrolled thread

[PATCH] input: tegra-kbc: add NULL check on of_match_device() return value

Started by"Gustavo A. R. Silva" <garsilva@embeddedor.com>
First post2017-07-07 08:30 +0200
Last post2017-07-10 21:30 +0200
Articles 6 — 4 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] input: tegra-kbc: add NULL check on of_match_device() return  value "Gustavo A. R. Silva" <garsilva@embeddedor.com> - 2017-07-07 08:30 +0200
    Re: [PATCH] input: tegra-kbc: add NULL check on of_match_device()  return value Jon Hunter <jonathanh@nvidia.com> - 2017-07-07 09:50 +0200
      Re: [PATCH] input: tegra-kbc: add NULL check on of_match_device()  return value Thierry Reding <thierry.reding@gmail.com> - 2017-07-07 11:40 +0200
        Re: [PATCH] input: tegra-kbc: add NULL check on of_match_device()  return value Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2017-07-10 19:50 +0200
          Re: [PATCH] input: tegra-kbc: add NULL check on of_match_device()  return value "Gustavo A. R. Silva" <garsilva@embeddedor.com> - 2017-07-10 21:30 +0200
        Re: [PATCH] input: tegra-kbc: add NULL check on of_match_device()  return value "Gustavo A. R. Silva" <garsilva@embeddedor.com> - 2017-07-10 21:30 +0200

#1682946 — [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value

From"Gustavo A. R. Silva" <garsilva@embeddedor.com>
Date2017-07-07 08:30 +0200
Subject[PATCH] input: tegra-kbc: add NULL check on of_match_device() return value
Message-ID<u0uW5-8qy-5@gated-at.bofh.it>
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

[toc] | [next] | [standalone]


#1682994 — Re: [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value

FromJon Hunter <jonathanh@nvidia.com>
Date2017-07-07 09:50 +0200
SubjectRe: [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value
Message-ID<u0wbw-Lh-11@gated-at.bofh.it>
In reply to#1682946
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

[toc] | [prev] | [next] | [standalone]


#1683084 — Re: [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value

FromThierry Reding <thierry.reding@gmail.com>
Date2017-07-07 11:40 +0200
SubjectRe: [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value
Message-ID<u0xTY-24L-19@gated-at.bofh.it>
In reply to#1682994

[Multipart message — attachments visible in raw view] — view raw

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

[toc] | [prev] | [next] | [standalone]


#1684541 — Re: [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value

FromDmitry Torokhov <dmitry.torokhov@gmail.com>
Date2017-07-10 19:50 +0200
SubjectRe: [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value
Message-ID<u1KYN-81W-5@gated-at.bofh.it>
In reply to#1683084
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

[toc] | [prev] | [next] | [standalone]


#1684597 — Re: [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value

From"Gustavo A. R. Silva" <garsilva@embeddedor.com>
Date2017-07-10 21:30 +0200
SubjectRe: [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value
Message-ID<u1MxA-Ey-7@gated-at.bofh.it>
In reply to#1684541
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

[toc] | [prev] | [next] | [standalone]


#1684599 — Re: [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value

From"Gustavo A. R. Silva" <garsilva@embeddedor.com>
Date2017-07-10 21:30 +0200
SubjectRe: [PATCH] input: tegra-kbc: add NULL check on of_match_device() return value
Message-ID<u1MxA-Ey-23@gated-at.bofh.it>
In reply to#1683084
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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web