Remove _locked memory functions.
authorRich Salz <rsalz@akamai.com>
Wed, 26 Aug 2015 04:25:11 +0000 (00:25 -0400)
committerRich Salz <rsalz@openssl.org>
Wed, 26 Aug 2015 11:02:33 +0000 (07:02 -0400)
Undocumented, unused, unnecessary (replaced by secure arena).

Reviewed-by: Richard Levitte <levitte@openssl.org>
crypto/mem.c
crypto/rsa/rsa_lib.c
include/openssl/crypto.h
include/openssl/symhacks.h
util/libeay.num

index 56c358586508c2a54617b27cc728f3e2c12c28dd..8b9c8c38051b9b95530c1e4a17bb9ed68efd0379 100644 (file)
@@ -103,17 +103,6 @@ static void *(*malloc_secure_ex_func)(size_t, const char *file, int line)
     = default_malloc_secure_ex;
 static void (*free_secure_func)(void *) = free;
 
-static void *(*malloc_locked_func) (size_t) = malloc;
-static void *default_malloc_locked_ex(size_t num, const char *file, int line)
-{
-    return malloc_locked_func(num);
-}
-
-static void *(*malloc_locked_ex_func) (size_t, const char *file, int line)
-    = default_malloc_locked_ex;
-
-static void (*free_locked_func) (void *) = free;
-
 /* may be changed as long as 'allow_customize_debug' is set */
 /* XXX use correct function pointer types */
 #ifdef CRYPTO_MDEBUG
@@ -159,9 +148,6 @@ int CRYPTO_set_mem_functions(void *(*m) (size_t), void *(*r) (void *, size_t),
     malloc_secure_func = m;
     malloc_secure_ex_func = default_malloc_secure_ex;
     free_secure_func = f;
-    malloc_locked_func = m;
-    malloc_locked_ex_func = default_malloc_locked_ex;
-    free_locked_func = f;
     return 1;
 }
 
@@ -181,9 +167,6 @@ int CRYPTO_set_mem_ex_functions(void *(*m) (size_t, const char *, int),
     malloc_secure_func = 0;
     malloc_secure_ex_func = m;
     free_secure_func = f;
-    malloc_locked_func = 0;
-    malloc_locked_ex_func = m;
-    free_locked_func = f;
     return 1;
 }
 
@@ -198,11 +181,6 @@ int CRYPTO_set_secure_mem_functions(void *(*m)(size_t), void (*f)(void *))
     malloc_secure_func = m;
     malloc_secure_ex_func = default_malloc_secure_ex;
     free_secure_func = f;
-    /* If user wants to intercept the locked functions, do it after
-     * the secure functions. */
-    malloc_locked_func = m;
-    malloc_locked_ex_func = default_malloc_secure_ex;
-    free_locked_func = f;
     return 1;
 }
 
@@ -216,34 +194,6 @@ int CRYPTO_set_secure_mem_ex_functions(void *(*m)(size_t, const char *, int),
     malloc_secure_func = 0;
     malloc_secure_ex_func = m;
     free_secure_func = f;
-    malloc_locked_func = 0;
-    malloc_locked_ex_func = m;
-    free_locked_func = f;
-    return 1;
-}
-
-int CRYPTO_set_locked_mem_functions(void *(*m) (size_t), void (*f) (void *))
-{
-    if (!allow_customize)
-        return 0;
-    if ((m == NULL) || (f == NULL))
-        return 0;
-    malloc_locked_func = m;
-    malloc_locked_ex_func = default_malloc_locked_ex;
-    free_locked_func = f;
-    return 1;
-}
-
-int CRYPTO_set_locked_mem_ex_functions(void *(*m) (size_t, const char *, int),
-                                       void (*f) (void *))
-{
-    if (!allow_customize)
-        return 0;
-    if ((m == NULL) || (f == NULL))
-        return 0;
-    malloc_locked_func = 0;
-    malloc_locked_ex_func = m;
-    free_locked_func = f;
     return 1;
 }
 
@@ -307,27 +257,6 @@ void CRYPTO_get_secure_mem_ex_functions(void *(**m)(size_t,const char *,int),
         *f=free_secure_func;
 }
 
-void CRYPTO_get_locked_mem_functions(void *(**m) (size_t),
-                                     void (**f) (void *))
-{
-    if (m != NULL)
-        *m = (malloc_locked_ex_func == default_malloc_locked_ex) ?
-            malloc_locked_func : 0;
-    if (f != NULL)
-        *f = free_locked_func;
-}
-
-void CRYPTO_get_locked_mem_ex_functions(void
-                                        *(**m) (size_t, const char *, int),
-                                        void (**f) (void *))
-{
-    if (m != NULL)
-        *m = (malloc_locked_ex_func != default_malloc_locked_ex) ?
-            malloc_locked_ex_func : 0;
-    if (f != NULL)
-        *f = free_locked_func;
-}
-
 void CRYPTO_get_mem_debug_functions(void (**m)
                                      (void *, int, const char *, int, int),
                                     void (**r) (void *, void *, int,
@@ -347,54 +276,6 @@ void CRYPTO_get_mem_debug_functions(void (**m)
         *go = get_debug_options_func;
 }
 
-void *CRYPTO_malloc_locked(int num, const char *file, int line)
-{
-    void *ret = NULL;
-
-    if (num <= 0)
-        return NULL;
-
-    if (allow_customize)
-        allow_customize = 0;
-    if (malloc_debug_func != NULL) {
-        if (allow_customize_debug)
-            allow_customize_debug = 0;
-        malloc_debug_func(NULL, num, file, line, 0);
-    }
-    ret = malloc_locked_ex_func(num, file, line);
-#ifdef LEVITTE_DEBUG_MEM
-    fprintf(stderr, "LEVITTE_DEBUG_MEM:         > 0x%p (%d)\n", ret, num);
-#endif
-    if (malloc_debug_func != NULL)
-        malloc_debug_func(ret, num, file, line, 1);
-
-#ifndef OPENSSL_CPUID_OBJ
-    /*
-     * Create a dependency on the value of 'cleanse_ctr' so our memory
-     * sanitisation function can't be optimised out. NB: We only do this for
-     * >2Kb so the overhead doesn't bother us.
-     */
-    if (ret && (num > 2048)) {
-        extern unsigned char cleanse_ctr;
-        ((unsigned char *)ret)[0] = cleanse_ctr;
-    }
-#endif
-
-    return ret;
-}
-
-void CRYPTO_free_locked(void *str)
-{
-    if (free_debug_func != NULL)
-        free_debug_func(str, 0);
-#ifdef LEVITTE_DEBUG_MEM
-    fprintf(stderr, "LEVITTE_DEBUG_MEM:         < 0x%p\n", str);
-#endif
-    free_locked_func(str);
-    if (free_debug_func != NULL)
-        free_debug_func(NULL, 1);
-}
-
 void *CRYPTO_malloc(int num, const char *file, int line)
 {
     void *ret = NULL;
index 76c9796bf0efe480498d52df731efe5a0c4db970..b28021ba883a5842a19e62e91a11b2ccb93d8631 100644 (file)
@@ -231,7 +231,7 @@ void RSA_free(RSA *r)
     BN_clear_free(r->iqmp);
     BN_BLINDING_free(r->blinding);
     BN_BLINDING_free(r->mt_blinding);
-    OPENSSL_free_locked(r->bignum_data);
+    OPENSSL_free(r->bignum_data);
     OPENSSL_free(r);
 }
 
@@ -287,7 +287,7 @@ int RSA_memory_lock(RSA *r)
     j = 1;
     for (i = 0; i < 6; i++)
         j += bn_get_top(*t[i]);
-    if ((p = OPENSSL_malloc_locked((off + j) * sizeof(BN_ULONG))) == NULL) {
+    if ((p = OPENSSL_malloc((off + j) * sizeof(BN_ULONG))) == NULL) {
         RSAerr(RSA_F_RSA_MEMORY_LOCK, ERR_R_MALLOC_FAILURE);
         return (0);
     }
index faaf1d5109949b6b935915a8642519897e126f1e..1d1c2b346754a36f6f003df3f13873cc9f305289 100644 (file)
@@ -356,9 +356,6 @@ int CRYPTO_is_mem_check_on(void);
 # define OPENSSL_clear_free(addr, num) CRYPTO_clear_free(addr, num)
 # define OPENSSL_free(addr)      CRYPTO_free(addr)
 
-# define OPENSSL_malloc_locked(num) \
-        CRYPTO_malloc_locked((int)num,__FILE__,__LINE__)
-# define OPENSSL_free_locked(addr) CRYPTO_free_locked(addr)
 # define OPENSSL_MALLOC_MAX_NELEMS(type)  (((1U<<(sizeof(int)*8-1))-1)/sizeof(type))
 
 const char *SSLeay_version(int type);
@@ -456,19 +453,11 @@ void (*CRYPTO_get_dynlock_destroy_callback(void)) (struct CRYPTO_dynlock_value
                                                    *l, const char *file,
                                                    int line);
 
-/*
- * CRYPTO_set_mem_functions includes CRYPTO_set_locked_mem_functions -- call
- * the latter last if you need different functions
- */
 int CRYPTO_set_mem_functions(void *(*m) (size_t), void *(*r) (void *, size_t),
                              void (*f) (void *));
-int CRYPTO_set_locked_mem_functions(void *(*m) (size_t),
-                                    void (*f) (void *));
 int CRYPTO_set_mem_ex_functions(void *(*m) (size_t, const char *, int),
                                 void *(*r) (void *, size_t, const char *,
                                             int), void (*f) (void *));
-int CRYPTO_set_locked_mem_ex_functions(void *(*m) (size_t, const char *, int),
-                                       void (*f) (void *));
 int CRYPTO_set_mem_debug_functions(void (*m)
                                     (void *, int, const char *, int, int),
                                    void (*r) (void *, void *, int,
@@ -478,14 +467,9 @@ int CRYPTO_set_mem_debug_functions(void (*m)
 void CRYPTO_get_mem_functions(void *(**m) (size_t),
                               void *(**r) (void *, size_t),
                               void (**f) (void *));
-void CRYPTO_get_locked_mem_functions(void *(**m) (size_t),
-                                     void (**f) (void *));
 void CRYPTO_get_mem_ex_functions(void *(**m) (size_t, const char *, int),
                                  void *(**r) (void *, size_t, const char *,
                                               int), void (**f) (void *));
-void CRYPTO_get_locked_mem_ex_functions(void
-                                        *(**m) (size_t, const char *, int),
-                                        void (**f) (void *));
 void CRYPTO_get_mem_debug_functions(void (**m)
                                      (void *, int, const char *, int, int),
                                     void (**r) (void *, void *, int,
@@ -493,8 +477,6 @@ void CRYPTO_get_mem_debug_functions(void (**m)
                                     void (**f) (void *, int),
                                     void (**so) (long), long (**go) (void));
 
-void *CRYPTO_malloc_locked(int num, const char *file, int line);
-void CRYPTO_free_locked(void *ptr);
 void *CRYPTO_malloc(int num, const char *file, int line);
 char *CRYPTO_strdup(const char *str, const char *file, int line);
 void CRYPTO_free(void *ptr);
index 3253df8c017123ce6e7421e5d88f7f5ae78f44c6..8e0edfc0137d6b16df6b4cbbddbf81b3b2e3f221 100644 (file)
 #  define CRYPTO_get_dynlock_destroy_callback     CRYPTO_get_dynlock_destroy_cb
 #  undef CRYPTO_get_dynlock_create_callback
 #  define CRYPTO_get_dynlock_create_callback      CRYPTO_get_dynlock_create_cb
-#  undef CRYPTO_set_locked_mem_ex_functions
-#  define CRYPTO_set_locked_mem_ex_functions      CRYPTO_set_locked_mem_ex_funcs
-#  undef CRYPTO_get_locked_mem_ex_functions
-#  define CRYPTO_get_locked_mem_ex_functions      CRYPTO_get_locked_mem_ex_funcs
 
 /* Hack some long SSL/TLS names */
 #  undef SSL_CTX_set_default_verify_paths
index a82db68e0035a34268720a128bb241bebb6f9015..fa6d9c2ba0497d28dfe9929db669dad611331bfc 100755 (executable)
@@ -1371,8 +1371,8 @@ X509V3_string_free                      1506      EXIST::FUNCTION:
 X509V3_section_free                     1507   EXIST::FUNCTION:
 X509V3_set_ctx                          1508   EXIST::FUNCTION:
 s2i_ASN1_INTEGER                        1509   EXIST::FUNCTION:
-CRYPTO_set_locked_mem_functions         1510   EXIST::FUNCTION:
-CRYPTO_get_locked_mem_functions         1511   EXIST::FUNCTION:
+CRYPTO_set_locked_mem_functions         1510   NOEXIST::FUNCTION:
+CRYPTO_get_locked_mem_functions         1511   NOEXIST::FUNCTION:
 CRYPTO_malloc_locked                    1512   EXIST::FUNCTION:
 CRYPTO_free_locked                      1513   EXIST::FUNCTION:
 BN_mod_exp2_mont                        1514   EXIST::FUNCTION:
@@ -2237,8 +2237,8 @@ DIRECTORYSTRING_it                      2767      EXIST:!EXPORT_VAR_AS_FUNCTION:VARIA
 DIRECTORYSTRING_it                      2767   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
 d2i_OCSP_CRLID                          2768   EXIST::FUNCTION:
 EC_POINT_is_on_curve                    2769   EXIST::FUNCTION:EC
-CRYPTO_set_locked_mem_ex_functions      2770   EXIST:!VMS:FUNCTION:
-CRYPTO_set_locked_mem_ex_funcs          2770   EXIST:VMS:FUNCTION:
+CRYPTO_set_locked_mem_ex_funcs          2770   NOEXIST::FUNCTION:
+CRYPTO_set_locked_mem_ex_functions      2770   NOEXIST::FUNCTION:
 d2i_KRB5_CHECKSUM                       2771   NOEXIST::FUNCTION:
 ASN1_item_dup                           2772   EXIST::FUNCTION:
 X509_it                                 2773   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
@@ -2252,8 +2252,8 @@ EC_POINT_get_Jprojective_coordinates_GFp 2779     EXIST:!VMS:FUNCTION:EC
 EC_POINT_get_Jproj_coords_GFp           2779   EXIST:VMS:FUNCTION:EC
 ZLONG_it                                2780   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
 ZLONG_it                                2780   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
-CRYPTO_get_locked_mem_ex_functions      2781   EXIST:!VMS:FUNCTION:
-CRYPTO_get_locked_mem_ex_funcs          2781   EXIST:VMS:FUNCTION:
+CRYPTO_get_locked_mem_ex_funcs          2781   NOEXIST::FUNCTION:
+CRYPTO_get_locked_mem_ex_functions      2781   NOEXIST::FUNCTION:
 ASN1_TIME_check                         2782   EXIST::FUNCTION:
 UI_get0_user_data                       2783   EXIST::FUNCTION:
 HMAC_CTX_cleanup                        2784   EXIST::FUNCTION: