Commit b3b5c27781 for openssl.org

commit b3b5c27781d8cce7bd4887c29b58784e32fe3694
Author: Frederik Wedel-Heinen <frederik.wedel-heinen@dencrypt.dk>
Date:   Sun Sep 13 18:01:44 2026 +0200

    Removes unused foreign member of evp_pkey_st

    Reviewed-by: Matt Caswell <matt@openssl.foundation>
    Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
    Merge-date: Wed Sep 16 14:34:46 2026
    Merged-from: https://github.com/openssl/openssl/pull/32820

diff --git a/crypto/evp/p_lib.c b/crypto/evp/p_lib.c
index 5fdcebf55c..d4097994e7 100644
--- a/crypto/evp/p_lib.c
+++ b/crypto/evp/p_lib.c
@@ -700,40 +700,6 @@ int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len)
 }

 #ifndef OPENSSL_NO_DEPRECATED_3_0
-static void detect_foreign_key(EVP_PKEY *pkey)
-{
-    switch (pkey->type) {
-    case EVP_PKEY_RSA:
-    case EVP_PKEY_RSA_PSS:
-        pkey->foreign = pkey->pkey.rsa != NULL
-            && ossl_rsa_is_foreign(pkey->pkey.rsa);
-        break;
-#ifndef OPENSSL_NO_EC
-    case EVP_PKEY_SM2:
-        break;
-    case EVP_PKEY_EC:
-        pkey->foreign = pkey->pkey.ec != NULL
-            && ossl_ec_key_is_foreign(pkey->pkey.ec);
-        break;
-#endif
-#ifndef OPENSSL_NO_DSA
-    case EVP_PKEY_DSA:
-        pkey->foreign = pkey->pkey.dsa != NULL
-            && ossl_dsa_is_foreign(pkey->pkey.dsa);
-        break;
-#endif
-#ifndef OPENSSL_NO_DH
-    case EVP_PKEY_DH:
-        pkey->foreign = pkey->pkey.dh != NULL
-            && ossl_dh_is_foreign(pkey->pkey.dh);
-        break;
-#endif
-    default:
-        pkey->foreign = 0;
-        break;
-    }
-}
-
 int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key)
 {
 #ifndef OPENSSL_NO_EC
@@ -762,7 +728,6 @@ int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key)
         return 0;

     pkey->pkey.ptr = key;
-    detect_foreign_key(pkey);

     return (key != NULL);
 }
diff --git a/include/crypto/evp.h b/include/crypto/evp.h
index eca29a7438..332ff7ae59 100644
--- a/include/crypto/evp.h
+++ b/include/crypto/evp.h
@@ -426,7 +426,6 @@ struct evp_pkey_st {
 #ifndef FIPS_MODULE
     STACK_OF(X509_ATTRIBUTE) *attributes; /* [ 0 ] */
     int save_parameters;
-    unsigned int foreign : 1; /* the low-level key is using an engine or an app-method */
     CRYPTO_EX_DATA ex_data;
 #endif