linux-next: build warning after merge of the crypto tree

2 messages, 2 authors, 2025-10-21 · open the first message on its own page

linux-next: build warning after merge of the crypto tree

From: Stephen Rothwell <hidden>
Date: 2025-10-20 03:07:37

Hi all,

After merging the crypto tree, today's linux-next build (x86_64
allmodconfig) produced this warning:

security/keys/trusted-keys/trusted_caam.c: In function 'dump_options':
security/keys/trusted-keys/trusted_caam.c:37:20: note: the ABI of passing struct with a flexible array member has changed in GCC 4.4
   37 | static inline void dump_options(struct caam_pkey_info pkey_info)
      |                    ^~~~~~~~~~~~

Introduced by commit

  9eb25ca6c973 ("KEYS: trusted: caam based protected key")

I am not sure what to do about this.  It would be nice if we could
suppress the note as we do not support gcc 4.4 any more.  Otherwise,
I suspect that converting the pkey_info argument to a pointer will get
rid of the note.

-- 
Cheers,
Stephen Rothwell

[PATCH] KEYS: trusted: Pass argument by pointer in dump_options

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2025-10-21 04:08:05

On Mon, Oct 20, 2025 at 02:07:35PM +1100, Stephen Rothwell wrote:
Hi all,

After merging the crypto tree, today's linux-next build (x86_64
allmodconfig) produced this warning:

security/keys/trusted-keys/trusted_caam.c: In function 'dump_options':
security/keys/trusted-keys/trusted_caam.c:37:20: note: the ABI of passing struct with a flexible array member has changed in GCC 4.4
   37 | static inline void dump_options(struct caam_pkey_info pkey_info)
      |                    ^~~~~~~~~~~~

Introduced by commit

  9eb25ca6c973 ("KEYS: trusted: caam based protected key")

I am not sure what to do about this.  It would be nice if we could
suppress the note as we do not support gcc 4.4 any more.  Otherwise,
I suspect that converting the pkey_info argument to a pointer will get
rid of the note.
Yes let's change that into a pointer:

---8<---
Instead of passing pkey_info into dump_options by value, using a
pointer instead.

Reported-by: Stephen Rothwell <redacted>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
diff --git a/security/keys/trusted-keys/trusted_caam.c b/security/keys/trusted-keys/trusted_caam.c
index 090099d1b04d..601943ce0d60 100644
--- a/security/keys/trusted-keys/trusted_caam.c
+++ b/security/keys/trusted-keys/trusted_caam.c
@@ -29,12 +29,12 @@ static const match_table_t key_tokens = {
 };
 
 #ifdef CAAM_DEBUG
-static inline void dump_options(struct caam_pkey_info pkey_info)
+static inline void dump_options(const struct caam_pkey_info *pkey_info)
 {
-	pr_info("key encryption algo %d\n", pkey_info.key_enc_algo);
+	pr_info("key encryption algo %d\n", pkey_info->key_enc_algo);
 }
 #else
-static inline void dump_options(struct caam_pkey_info pkey_info)
+static inline void dump_options(const struct caam_pkey_info *pkey_info)
 {
 }
 #endif
@@ -108,7 +108,7 @@ static int trusted_caam_seal(struct trusted_key_payload *p, char *datablob)
 		ret = get_pkey_options(datablob, &info.pkey_info);
 		if (ret < 0)
 			return 0;
-		dump_options(info.pkey_info);
+		dump_options(&info.pkey_info);
 	}
 
 	ret = caam_encap_blob(blobifier, &info);
@@ -140,7 +140,7 @@ static int trusted_caam_unseal(struct trusted_key_payload *p, char *datablob)
 		ret = get_pkey_options(datablob, &info.pkey_info);
 		if (ret < 0)
 			return 0;
-		dump_options(info.pkey_info);
+		dump_options(&info.pkey_info);
 
 		p->key_len = p->blob_len + sizeof(struct caam_pkey_info);
 		memcpy(p->key, &info.pkey_info, sizeof(struct caam_pkey_info));
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help