lkml.org 
[lkml]   [2019]   [Oct]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.3 045/148] crypto: ccree - account for TEE not ready to report
    Date
    From: Gilad Ben-Yossef <gilad@benyossef.com>

    commit 76a95bd8f9e10cade9c4c8df93b5c20ff45dc0f5 upstream.

    When ccree driver runs it checks the state of the Trusted Execution
    Environment CryptoCell driver before proceeding. We did not account
    for cases where the TEE side is not ready or not available at all.
    Fix it by only considering TEE error state after sync with the TEE
    side driver.

    Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com>
    Fixes: ab8ec9658f5a ("crypto: ccree - add FIPS support")
    CC: stable@vger.kernel.org # v4.17+
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/crypto/ccree/cc_fips.c | 8 +++++++-
    1 file changed, 7 insertions(+), 1 deletion(-)

    --- a/drivers/crypto/ccree/cc_fips.c
    +++ b/drivers/crypto/ccree/cc_fips.c
    @@ -21,7 +21,13 @@ static bool cc_get_tee_fips_status(struc
    u32 reg;

    reg = cc_ioread(drvdata, CC_REG(GPR_HOST));
    - return (reg == (CC_FIPS_SYNC_TEE_STATUS | CC_FIPS_SYNC_MODULE_OK));
    + /* Did the TEE report status? */
    + if (reg & CC_FIPS_SYNC_TEE_STATUS)
    + /* Yes. Is it OK? */
    + return (reg & CC_FIPS_SYNC_MODULE_OK);
    +
    + /* No. It's either not in use or will be reported later */
    + return true;
    }

    /*

    \
     
     \ /
      Last update: 2019-10-10 10:40    [W:4.085 / U:0.892 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site