ANDROID: add symbol list for fips140 module

Add the missing fips140_abi build target.  Then, create the fips140
symbol list by running the following command:

    tools/bazel run //common:fips140_abi_update_symbol_list

Then, update the stg file by running:

    tools/bazel run //common:kernel_aarch64_abi_dist
    tools/bazel run //common:kernel_aarch64_abi_update_symbol_list
    tools/bazel run //common:kernel_aarch64_abi_update

INFO: 36 function symbol(s) added
  'int __traceiter_android_vh_aes_decrypt(void*, const struct crypto_aes_ctx*, u8*, const u8*, int*)'
  'int __traceiter_android_vh_aes_encrypt(void*, const struct crypto_aes_ctx*, u8*, const u8*, int*)'
  'int __traceiter_android_vh_aes_expandkey(void*, struct crypto_aes_ctx*, const u8*, unsigned int, int*)'
  'int __traceiter_android_vh_sha256(void*, const u8*, unsigned int, u8*, int*)'
  'int aead_register_instance(struct crypto_template*, struct aead_instance*)'
  'int ahash_register_instance(struct crypto_template*, struct ahash_instance*)'
  'struct crypto_rng* crypto_alloc_rng(const char*, u32, u32)'
  'const char* crypto_attr_alg_name(struct rtattr*)'
  'int crypto_check_attr_type(struct rtattr**, u32, u32*)'
  'int crypto_cipher_setkey(struct crypto_cipher*, const u8*, unsigned int)'
  'void crypto_drop_spawn(struct crypto_spawn*)'
  'struct crypto_sync_skcipher* crypto_get_default_null_skcipher()'
  'int crypto_grab_aead(struct crypto_aead_spawn*, struct crypto_instance*, const char*, u32, u32)'
  'int crypto_grab_ahash(struct crypto_ahash_spawn*, struct crypto_instance*, const char*, u32, u32)'
  'int crypto_grab_shash(struct crypto_shash_spawn*, struct crypto_instance*, const char*, u32, u32)'
  'int crypto_grab_skcipher(struct crypto_skcipher_spawn*, struct crypto_instance*, const char*, u32, u32)'
  'int crypto_grab_spawn(struct crypto_spawn*, struct crypto_instance*, const char*, u32, u32)'
  'int crypto_inst_setname(struct crypto_instance*, const char*, struct crypto_alg*)'
  'void crypto_put_default_null_skcipher()'
  'int crypto_register_aeads(struct aead_alg*, int)'
  'int crypto_register_ahashes(struct ahash_alg*, int)'
  'int crypto_register_algs(struct crypto_alg*, int)'
  'int crypto_register_shashes(struct shash_alg*, int)'
  'int crypto_register_skciphers(struct skcipher_alg*, int)'
  'int crypto_register_templates(struct crypto_template*, int)'
  'void crypto_remove_spawns(struct crypto_alg*, struct list_head*, struct crypto_alg*)'
  'int crypto_rng_reset(struct crypto_rng*, const u8*, unsigned int)'
  'bool crypto_shash_alg_has_setkey(struct shash_alg*)'
  'struct crypto_tfm* crypto_spawn_tfm(struct crypto_spawn*, u32, u32)'
  'void* crypto_spawn_tfm2(struct crypto_spawn*)'
  'void crypto_unregister_shashes(struct shash_alg*, int)'
  'void crypto_unregister_skciphers(struct skcipher_alg*, int)'
  'void crypto_unregister_templates(struct crypto_template*, int)'
  'bool rng_is_initialized()'
  'void shash_free_singlespawn_instance(struct shash_instance*)'
  'int shash_register_instance(struct crypto_template*, struct shash_instance*)'

6 variable symbol(s) added
  'struct tracepoint __tracepoint_android_vh_aes_decrypt'
  'struct tracepoint __tracepoint_android_vh_aes_encrypt'
  'struct tracepoint __tracepoint_android_vh_aes_expandkey'
  'struct tracepoint __tracepoint_android_vh_sha256'
  'struct list_head crypto_alg_list'
  'struct rw_semaphore crypto_alg_sem'

Bug: 188620248
Change-Id: I95931f8f3710a4f0a5b642e1c9f7299b72616972
Signed-off-by: Eric Biggers <ebiggers@google.com>
This commit is contained in:
Eric Biggers 2024-02-29 01:26:25 +00:00 committed by Matthias Männich
parent 09ca5740fb
commit e61a6ec29a
3 changed files with 1022 additions and 0 deletions

View File

@ -104,6 +104,7 @@ filegroup(
"android/abi_gki_aarch64_db845c",
"android/abi_gki_aarch64_exynos",
"android/abi_gki_aarch64_exynosauto",
"android/abi_gki_aarch64_fips140",
"android/abi_gki_aarch64_galaxy",
"android/abi_gki_aarch64_honda",
"android/abi_gki_aarch64_honor",
@ -715,9 +716,16 @@ kernel_build(
outs = [],
base_kernel = ":kernel_aarch64",
build_config = "build.config.gki.aarch64.fips140",
kmi_symbol_list = "android/abi_gki_aarch64_fips140",
module_outs = ["crypto/fips140.ko"],
)
kernel_abi(
name = "fips140_abi",
kernel_build = ":fips140",
kmi_symbol_list_add_only = True,
)
copy_to_dist_dir(
name = "fips140_dist",
data = [

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,145 @@
[abi_symbol_list]
# commonly used symbols
module_layout
__put_task_struct
# required by fips140.ko
aead_register_instance
ahash_register_instance
arch_timer_read_counter
bcmp
complete_all
completion_done
cpu_have_feature
crypto_aead_decrypt
crypto_aead_encrypt
crypto_aead_setauthsize
crypto_aead_setkey
crypto_ahash_finup
crypto_ahash_setkey
crypto_alg_list
crypto_alg_sem
crypto_alloc_aead
crypto_alloc_base
crypto_alloc_rng
crypto_alloc_shash
crypto_alloc_skcipher
crypto_attr_alg_name
crypto_check_attr_type
crypto_cipher_encrypt_one
crypto_cipher_setkey
crypto_destroy_tfm
crypto_drop_spawn
crypto_get_default_null_skcipher
crypto_grab_aead
crypto_grab_ahash
crypto_grab_shash
crypto_grab_skcipher
crypto_grab_spawn
crypto_inst_setname
crypto_put_default_null_skcipher
crypto_register_aead
crypto_register_aeads
crypto_register_ahash
crypto_register_ahashes
crypto_register_alg
crypto_register_algs
crypto_register_rng
crypto_register_rngs
crypto_register_shash
crypto_register_shashes
crypto_register_skcipher
crypto_register_skciphers
crypto_register_template
crypto_register_templates
crypto_remove_spawns
crypto_req_done
crypto_rng_reset
crypto_shash_alg_has_setkey
crypto_shash_digest
crypto_shash_final
crypto_shash_finup
crypto_shash_setkey
crypto_shash_tfm_digest
crypto_shash_update
crypto_skcipher_decrypt
crypto_skcipher_encrypt
crypto_skcipher_setkey
crypto_spawn_tfm
crypto_spawn_tfm2
crypto_unregister_aead
crypto_unregister_alg
crypto_unregister_rng
crypto_unregister_rngs
crypto_unregister_shash
crypto_unregister_shashes
crypto_unregister_skciphers
crypto_unregister_template
crypto_unregister_templates
down_write
fortify_panic
fpsimd_context_busy
get_random_bytes
__init_swait_queue_head
irq_stat
jiffies
kasan_flag_enabled
kernel_neon_begin
kernel_neon_end
kfree
kfree_sensitive
__kmalloc
kmalloc_caches
kmalloc_trace
kmemdup
ktime_get
__list_add_valid
__list_del_entry_valid
memcpy
memset
__mutex_init
mutex_lock
mutex_unlock
panic
preempt_schedule
preempt_schedule_notrace
_printk
___ratelimit
_raw_spin_lock
_raw_spin_unlock
refcount_warn_saturate
rng_is_initialized
scatterwalk_ffwd
scatterwalk_map_and_copy
sg_init_one
sg_init_table
sg_next
shash_free_singlespawn_instance
shash_register_instance
skcipher_alloc_instance_simple
skcipher_register_instance
skcipher_walk_aead_decrypt
skcipher_walk_aead_encrypt
skcipher_walk_done
skcipher_walk_virt
snprintf
__stack_chk_fail
strcmp
strlcat
strlen
strncmp
strnlen
strscpy
__traceiter_android_vh_aes_decrypt
__traceiter_android_vh_aes_encrypt
__traceiter_android_vh_aes_expandkey
__traceiter_android_vh_sha256
__tracepoint_android_vh_aes_decrypt
__tracepoint_android_vh_aes_encrypt
__tracepoint_android_vh_aes_expandkey
__tracepoint_android_vh_sha256
tracepoint_probe_register
up_write
wait_for_completion
xa_load
xa_store