integrity: Introduce struct evm_xattr
authorThiago Jung Bauermann <bauerman@linux.ibm.com>
Tue, 11 Jun 2019 06:28:08 +0000 (03:28 -0300)
committerMimi Zohar <zohar@linux.ibm.com>
Sun, 30 Jun 2019 21:54:41 +0000 (17:54 -0400)
commit650b29dbdf2caf7db27cdc8bfa8fc009b28a6ce3
tree41585db527639befc8ae4ea09619ea40078b0fde
parent337619eb44ef663d329c5c19efd18488ce7de492
integrity: Introduce struct evm_xattr

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: Thiago Jung Bauermann <bauerman@linux.ibm.com>
Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
security/integrity/evm/evm_main.c
security/integrity/ima/ima_appraise.c
security/integrity/integrity.h