Spdk/lib/util/spdk_util.map
Alexey Marchuk 415fa16403 util: Add spdk_memset_s
bdev_crypto uses memset() to zero secrets passed
by the user (cleanup/error path) which is not safe -
compiler may detect that the buffer being zeroed
is not accessed any more and may "optimize" (drop)
zerofying.

C11 standard introduces memset_s which guarantess to
change the buffer content, but this function is optional,
gcc may not support it. As alternative, add not optimal
from performance point of view default implementation.

Add unit test to math_ut.c to avoid creating new .c file
for 1 simple test

Signed-off-by: Alexey Marchuk <alexeymar@nvidia.com>
Change-Id: I11c7d15610df02e4a3761a88c85f6f8c54fb4b0a
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16038
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2023-01-09 12:43:35 +00:00

173 lines
3.5 KiB
Plaintext

{
global:
# public functions in base64.h
spdk_base64_encode;
spdk_base64_urlsafe_encode;
spdk_base64_decode;
spdk_base64_urlsafe_decode;
# public functions in bit_array.h
spdk_bit_array_capacity;
spdk_bit_array_create;
spdk_bit_array_free;
spdk_bit_array_resize;
spdk_bit_array_get;
spdk_bit_array_set;
spdk_bit_array_clear;
spdk_bit_array_find_first_set;
spdk_bit_array_find_first_clear;
spdk_bit_array_count_set;
spdk_bit_array_count_clear;
spdk_bit_array_store_mask;
spdk_bit_array_load_mask;
spdk_bit_array_clear_mask;
# public functions in bit_pool.h
spdk_bit_pool_capacity;
spdk_bit_pool_create;
spdk_bit_pool_create_from_array;
spdk_bit_pool_free;
spdk_bit_pool_resize;
spdk_bit_pool_is_allocated;
spdk_bit_pool_allocate_bit;
spdk_bit_pool_free_bit;
spdk_bit_pool_count_allocated;
spdk_bit_pool_count_free;
spdk_bit_pool_store_mask;
spdk_bit_pool_load_mask;
spdk_bit_pool_free_all_bits;
# public functions in cpuset.h
spdk_cpuset_alloc;
spdk_cpuset_free;
spdk_cpuset_equal;
spdk_cpuset_copy;
spdk_cpuset_and;
spdk_cpuset_or;
spdk_cpuset_xor;
spdk_cpuset_negate;
spdk_cpuset_zero;
spdk_cpuset_set_cpu;
spdk_cpuset_get_cpu;
spdk_cpuset_count;
spdk_cpuset_fmt;
spdk_cpuset_parse;
# public functions in crc16.h
spdk_crc16_t10dif;
spdk_crc16_t10dif_copy;
# public functions in crc32.h
spdk_crc32_ieee_update;
spdk_crc32c_update;
spdk_crc32c_iov_update;
# public functions in dif.h
spdk_dif_ctx_init;
spdk_dif_ctx_set_data_offset;
spdk_dif_ctx_set_remapped_init_ref_tag;
spdk_dif_generate;
spdk_dif_verify;
spdk_dif_update_crc32c;
spdk_dif_generate_copy;
spdk_dif_verify_copy;
spdk_dif_inject_error;
spdk_dix_generate;
spdk_dix_verify;
spdk_dix_inject_error;
spdk_dif_set_md_interleave_iovs;
spdk_dif_generate_stream;
spdk_dif_verify_stream;
spdk_dif_update_crc32c_stream;
spdk_dif_get_range_with_md;
spdk_dif_get_length_with_md;
spdk_dif_remap_ref_tag;
spdk_dix_remap_ref_tag;
# public functions in fd.h
spdk_fd_get_size;
spdk_fd_get_blocklen;
# public functions in file.h
spdk_posix_file_load;
# public functions in hexlify.h
spdk_hexlify;
spdk_unhexlify;
# public functions in pipe.h
spdk_pipe_create;
spdk_pipe_destroy;
spdk_pipe_writer_get_buffer;
spdk_pipe_writer_advance;
spdk_pipe_reader_bytes_available;
spdk_pipe_reader_get_buffer;
spdk_pipe_reader_advance;
# public functions in string.h
spdk_sprintf_alloc;
spdk_vsprintf_alloc;
spdk_sprintf_append_realloc;
spdk_vsprintf_append_realloc;
spdk_strlwr;
spdk_strsepq;
spdk_str_trim;
spdk_strerror_r;
spdk_strerror;
spdk_str_chomp;
spdk_strcpy_pad;
spdk_strlen_pad;
spdk_parse_ip_addr;
spdk_parse_capacity;
spdk_mem_all_zero;
spdk_strtol;
spdk_strtoll;
spdk_strarray_from_string;
spdk_strarray_dup;
spdk_strarray_free;
# public functions in util.h
spdk_u32log2;
spdk_u64log2;
spdk_iovcpy;
spdk_iovmove;
spdk_ioviter_first;
spdk_ioviter_next;
spdk_copy_iovs_to_buf;
spdk_copy_buf_to_iovs;
spdk_memset_s;
# resolvers for functions in util.h
spdk_u32log2.resolver;
spdk_u64log2.resolver;
# public functions in uuid.h
spdk_uuid_parse;
spdk_uuid_fmt_lower;
spdk_uuid_compare;
spdk_uuid_generate;
spdk_uuid_copy;
# public functions in fd_group.h
spdk_fd_group_create;
spdk_fd_group_destroy;
spdk_fd_group_get_epoll_event;
spdk_fd_group_wait;
spdk_fd_group_add;
spdk_fd_group_remove;
spdk_fd_group_event_modify;
spdk_fd_group_get_fd;
# public functions in xor.h
spdk_xor_gen;
spdk_xor_get_optimal_alignment;
# public functions in zipf.h
spdk_zipf_create;
spdk_zipf_free;
spdk_zipf_generate;
local: *;
};