• Thiago Jung Bauermann's avatar
    integrity: Introduce struct evm_xattr · 650b29db
    Thiago Jung Bauermann authored
    Even though struct evm_ima_xattr_data includes a fixed-size array to hold a
    SHA1 digest, most of the code ignores the array and uses the struct to mean
    "type indicator followed by data of unspecified size" and tracks the real
    size of what the struct represents in a separate length variable.
    
    The only exception to that is the EVM code, which correctly uses the
    definition of struct evm_ima_xattr_data.
    
    So make this explicit in the code by removing the length specification from
    the array in struct evm_ima_xattr_data. Also, change the name of the
    element from digest to data since in most places the array doesn't hold a
    digest.
    
    A separate struct evm_xattr is introduced, with the original definition of
    evm_ima_xattr_data to be used in the places that actually expect that
    definition, specifically the EVM HMAC code.
    Signed-off-by: default avatarThiago Jung Bauermann <bauerman@linux.ibm.com>
    Signed-off-by: default avatarMimi Zohar <zohar@linux.ibm.com>
    650b29db
ima_appraise.c 12.1 KB