lkml.org 
[lkml]   [2020]   [Jul]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 042/215] tpm_tis: extra chip->ops check on error path in tpm_tis_core_init
    Date
    From: Vasily Averin <vvs@virtuozzo.com>

    [ Upstream commit ccf6fb858e17a8f8a914a1c6444d277cfedfeae6 ]

    Found by smatch:
    drivers/char/tpm/tpm_tis_core.c:1088 tpm_tis_core_init() warn:
    variable dereferenced before check 'chip->ops' (see line 979)

    'chip->ops' is assigned in the beginning of function
    in tpmm_chip_alloc->tpm_chip_alloc
    and is used before first possible goto to error path.

    Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
    Reviewed-by: Jerry Snitselaar <jsnitsel@redhat.com>
    Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
    Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/char/tpm/tpm_tis_core.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c
    index bdcf8f25cd0d0..63f6bed78d893 100644
    --- a/drivers/char/tpm/tpm_tis_core.c
    +++ b/drivers/char/tpm/tpm_tis_core.c
    @@ -1006,7 +1006,7 @@ int tpm_tis_core_init(struct device *dev, struct tpm_tis_data *priv, int irq,

    return 0;
    out_err:
    - if ((chip->ops != NULL) && (chip->ops->clk_enable != NULL))
    + if (chip->ops->clk_enable != NULL)
    chip->ops->clk_enable(chip, false);

    tpm_tis_remove(chip);
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-07-20 18:40    [W:4.272 / U:0.144 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site