Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1653628 > unrolled thread
| Started by | "Gustavo A. R. Silva" <garsilva@embeddedor.com> |
|---|---|
| First post | 2017-05-31 00:00 +0200 |
| Last post | 2017-05-31 14:20 +0200 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH] char: tmp: fix potential null pointer dereference "Gustavo A. R. Silva" <garsilva@embeddedor.com> - 2017-05-31 00:00 +0200
Re: [PATCH] char: tmp: fix potential null pointer dereference Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> - 2017-05-31 14:20 +0200
| From | "Gustavo A. R. Silva" <garsilva@embeddedor.com> |
|---|---|
| Date | 2017-05-31 00:00 +0200 |
| Subject | [PATCH] char: tmp: fix potential null pointer dereference |
| Message-ID | <tMXlh-4i6-51@gated-at.bofh.it> |
NULL check at line 147: if (chip) {, implies chip might be NULL.
Function dev_get_drvdata() dereference pointer chip.
Move pointer priv assignment inside the IF block that checks
pointer chip.
Addresses-Coverity-ID: 1397646
Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
---
drivers/char/tpm/tpm_atmel.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/char/tpm/tpm_atmel.c b/drivers/char/tpm/tpm_atmel.c
index 0d322ab..0826efd 100644
--- a/drivers/char/tpm/tpm_atmel.c
+++ b/drivers/char/tpm/tpm_atmel.c
@@ -142,9 +142,10 @@ static struct platform_device *pdev;
static void atml_plat_remove(void)
{
struct tpm_chip *chip = dev_get_drvdata(&pdev->dev);
- struct tpm_atmel_priv *priv = dev_get_drvdata(&chip->dev);
+ struct tpm_atmel_priv *priv;
if (chip) {
+ priv = dev_get_drvdata(&chip->dev);
tpm_chip_unregister(chip);
if (priv->have_region)
atmel_release_region(priv->base, priv->region_size);
--
2.5.0
[toc] | [next] | [standalone]
| From | Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> |
|---|---|
| Date | 2017-05-31 14:20 +0200 |
| Message-ID | <tNaLv-4Cv-13@gated-at.bofh.it> |
| In reply to | #1653628 |
On Tue, May 30, 2017 at 04:51:23PM -0500, Gustavo A. R. Silva wrote:
> NULL check at line 147: if (chip) {, implies chip might be NULL.
> Function dev_get_drvdata() dereference pointer chip.
> Move pointer priv assignment inside the IF block that checks
> pointer chip.
>
> Addresses-Coverity-ID: 1397646
> Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
It cannot be.
/Jarkko
> ---
> drivers/char/tpm/tpm_atmel.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/char/tpm/tpm_atmel.c b/drivers/char/tpm/tpm_atmel.c
> index 0d322ab..0826efd 100644
> --- a/drivers/char/tpm/tpm_atmel.c
> +++ b/drivers/char/tpm/tpm_atmel.c
> @@ -142,9 +142,10 @@ static struct platform_device *pdev;
> static void atml_plat_remove(void)
> {
> struct tpm_chip *chip = dev_get_drvdata(&pdev->dev);
> - struct tpm_atmel_priv *priv = dev_get_drvdata(&chip->dev);
> + struct tpm_atmel_priv *priv;
>
> if (chip) {
> + priv = dev_get_drvdata(&chip->dev);
> tpm_chip_unregister(chip);
> if (priv->have_region)
> atmel_release_region(priv->base, priv->region_size);
> --
> 2.5.0
>
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web