@@ -85,7 +85,7 @@ enum evm_ima_xattr_type {
struct evm_ima_xattr_data {
u8 type;
- u8 data[];
+ DECLARE_FLEX_ARRAY(u8, data);
} __packed;
/* Only used in the EVM HMAC code. */
@@ -110,7 +110,7 @@ struct ima_digest_data {
} ng;
u8 data[2];
} xattr;
- u8 digest[];
+ DECLARE_FLEX_ARRAY(u8, digest);
} __packed;
/*
@@ -138,7 +138,7 @@ struct signature_v2_hdr {
uint8_t hash_algo; /* Digest algorithm [enum hash_algo] */
__be32 keyid; /* IMA key identifier - not X509/PGP specific */
__be16 sig_size; /* signature size */
- uint8_t sig[]; /* signature payload */
+ DECLARE_FLEX_ARRAY(uint8_t, sig); /* signature payload */
} __packed;
/*
Zero-length arrays are deprecated and we are moving towards adopting C99 flexible-array members instead. So, replace zero-length array declarations with the new DECLARE_FLEX_ARRAY() helper macro in integrity.h. As follows: struct evm_ima_xattr_data, struct ima_digest_data, struct signature_v2_hdr, This helper allows for a flexible-array member in a union. Link: KSPP#21 Link: KSPP#193 Link: KSPP#197 Link: https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com> --- security/integrity/integrity.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)