On 2025/10/24 16:10, Ahmad Fatoum wrote:
Hello,

On 10/24/25 9:02 AM, yebin wrote:
Ignore this patch as 275a9a3f9b6a(“KEYS: trusted: Pass argument by
pointer in dump_options”)already fix this issue.

What tree are you looking at? I can't find this commit in my git and the
code you are purportedly patching never existed upstream.

If you run into issues exclusive to a vendor fork, you need to submit
your patches to the vendor. The upstream mailing lists are for upstream.

This patch was submitted by Herbert Xu and is on linux-next.

https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
commit 275a9a3f9b6a2158bfb7826074b72d5bdfb2ac35
Author: Herbert Xu <[email protected]>
Date:   Tue Oct 21 12:07:56 2025 +0800

    KEYS: trusted: Pass argument by pointer in dump_options

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

    Reported-by: Stephen Rothwell <[email protected]>
    Signed-off-by: Herbert Xu <[email protected]>


Thanks,
Ahmad


On 2025/10/24 14:11, Ye Bin wrote:
From: Ye Bin <[email protected]>

There's issue as follows:
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)
        |                    ^~~~~~~~~~~~

To solve the above problem, pass 'struct caam_pkey_info*' type parameter
to the dump_options() function.

Fixes: 9eb25ca6c973 ("KEYS: trusted: caam based protected key")
Signed-off-by: Ye Bin <[email protected]>
---
   security/keys/trusted-keys/trusted_caam.c | 10 +++++-----
   1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/security/keys/trusted-keys/trusted_caam.c b/security/
keys/trusted-keys/trusted_caam.c
index 090099d1b04d..dd7a69bcf6a3 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(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(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));






Reply via email to