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@xxxxxxxxxx> --- security/integrity/integrity.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/security/integrity/integrity.h b/security/integrity/integrity.h index 7167a6e99bdc..3eeea8d630e0 100644 --- a/security/integrity/integrity.h +++ b/security/integrity/integrity.h @@ -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; /* -- 2.25.1