• Dmitry Kasatkin's avatar
    evm: evm_verify_hmac must not return INTEGRITY_UNKNOWN · 6d38ca01
    Dmitry Kasatkin authored
    If EVM is not supported or enabled, evm_verify_hmac() returns
    INTEGRITY_UNKNOWN, which ima_appraise_measurement() ignores and sets
    the appraisal status based solely on the security.ima verification.
    
    evm_verify_hmac() also returns INTEGRITY_UNKNOWN for other failures, such
    as temporary failures like -ENOMEM, resulting in possible attack vectors.
    This patch changes the default return code for temporary/unexpected
    failures, like -ENOMEM, from INTEGRITY_UNKNOWN to INTEGRITY_FAIL, making
    evm_verify_hmac() fail safe.
    
    As a result, failures need to be re-evaluated in order to catch both
    temporary errors, such as the -ENOMEM, as well as errors that have been
    resolved in fix mode.
    Signed-off-by: default avatarDmitry Kasatkin <dmitry.kasatkin@nokia.com>
    Signed-off-by: default avatarMimi Zohar <zohar@us.ibm.com>
    6d38ca01
evm_main.c 8.34 KB