Jelajahi Sumber

ANDROID: ABI: add new symbols required by fips140.ko

Add KMI_SYMBOL_LIST_ADD_ONLY=1 to build.config.gki.aarch64.fips140, then
regenerate the fips140 symbol list and ABI XML as follows:

    BUILD_CONFIG=common/build.config.gki.aarch64.fips140 build/build_abi.sh --update-symbol-list
    BUILD_CONFIG=common/build.config.gki.aarch64 build/build_abi.sh --update --print-report

Leaf changes summary: 7 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 7 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

7 Added functions:

  [A] 'function int ahash_register_instance(crypto_template*, ahash_instance*)'
  [A] 'function int crypto_grab_spawn(crypto_spawn*, crypto_instance*, const char*, u32, u32)'
  [A] 'function int crypto_register_aeads(aead_alg*, int)'
  [A] 'function int crypto_register_ahashes(ahash_alg*, int)'
  [A] 'function int crypto_register_rng(rng_alg*)'
  [A] 'function crypto_tfm* crypto_spawn_tfm(crypto_spawn*, u32, u32)'
  [A] 'function void crypto_unregister_rng(rng_alg*)'

Bug: 188620248
Change-Id: Ibc066a431decc123f428ecf5ae0b51b1ad838a8a
Signed-off-by: Eric Biggers <[email protected]>
Eric Biggers 3 tahun lalu
induk
melakukan
cf721d6c46

+ 69 - 3
android/abi_gki_aarch64.xml

@@ -658,6 +658,7 @@
       <elf-symbol name='aes_decrypt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x78a16f48'/>
       <elf-symbol name='aes_encrypt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x77e9eb37'/>
       <elf-symbol name='aes_expandkey' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x558b281d'/>
+      <elf-symbol name='ahash_register_instance' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x226addb8'/>
       <elf-symbol name='alarm_cancel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x536e1fa7'/>
       <elf-symbol name='alarm_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x1fbe3658'/>
       <elf-symbol name='alarm_start' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x111d2777'/>
@@ -1151,15 +1152,19 @@
       <elf-symbol name='crypto_grab_ahash' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x24d7f2f7'/>
       <elf-symbol name='crypto_grab_shash' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xa4cef975'/>
       <elf-symbol name='crypto_grab_skcipher' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xf1b96a7d'/>
+      <elf-symbol name='crypto_grab_spawn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x64f5aa1f'/>
       <elf-symbol name='crypto_has_alg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x951a2773'/>
       <elf-symbol name='crypto_inc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x3ef051c8'/>
       <elf-symbol name='crypto_init_queue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x499043d3'/>
       <elf-symbol name='crypto_inst_setname' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x85ac2aa9'/>
       <elf-symbol name='crypto_put_default_null_skcipher' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x21cd536a'/>
       <elf-symbol name='crypto_register_aead' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x5c6f36e'/>
+      <elf-symbol name='crypto_register_aeads' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x992ab5ac'/>
       <elf-symbol name='crypto_register_ahash' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x89a16782'/>
+      <elf-symbol name='crypto_register_ahashes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xda699b4a'/>
       <elf-symbol name='crypto_register_alg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe35cab54'/>
       <elf-symbol name='crypto_register_algs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xdc7e4244'/>
+      <elf-symbol name='crypto_register_rng' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x447c21c0'/>
       <elf-symbol name='crypto_register_rngs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x681f4d3c'/>
       <elf-symbol name='crypto_register_scomp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x36977ae6'/>
       <elf-symbol name='crypto_register_shash' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xeb71fe8c'/>
@@ -1184,11 +1189,13 @@
       <elf-symbol name='crypto_skcipher_decrypt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xd5f7efde'/>
       <elf-symbol name='crypto_skcipher_encrypt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x3446b42a'/>
       <elf-symbol name='crypto_skcipher_setkey' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x44461210'/>
+      <elf-symbol name='crypto_spawn_tfm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x4270ebbc'/>
       <elf-symbol name='crypto_spawn_tfm2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xce0b26d7'/>
       <elf-symbol name='crypto_unregister_aead' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xd2ab2207'/>
       <elf-symbol name='crypto_unregister_ahash' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x87f0be17'/>
       <elf-symbol name='crypto_unregister_alg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x15e337f'/>
       <elf-symbol name='crypto_unregister_algs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe64761df'/>
+      <elf-symbol name='crypto_unregister_rng' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe09f55eb'/>
       <elf-symbol name='crypto_unregister_rngs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x986b5cd0'/>
       <elf-symbol name='crypto_unregister_scomp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x8e4c29fc'/>
       <elf-symbol name='crypto_unregister_shash' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x4d9a3798'/>
@@ -21135,12 +21142,12 @@
       <pointer-type-def type-id='f111d4f3' size-in-bits='64' id='27bb8677'/>
       <pointer-type-def type-id='d1bbb6dd' size-in-bits='64' id='27bdd081'/>
       <pointer-type-def type-id='6a65de43' size-in-bits='64' id='27c3122f'/>
-      <class-decl name='__anonymous_struct__' size-in-bits='6144' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/crypto/internal/hash.h' line='46' column='1' id='27c650c4'>
+      <class-decl name='__anonymous_struct__' size-in-bits='6144' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/crypto/internal/hash.h' line='35' column='1' id='27c650c4'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='head' type-id='d1617432' visibility='default' filepath='include/crypto/internal/hash.h' line='47' column='1'/>
+          <var-decl name='head' type-id='d1617432' visibility='default' filepath='include/crypto/internal/hash.h' line='36' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='base' type-id='85c172d2' visibility='default' filepath='include/crypto/internal/hash.h' line='48' column='1'/>
+          <var-decl name='base' type-id='85c172d2' visibility='default' filepath='include/crypto/internal/hash.h' line='37' column='1'/>
         </data-member>
       </class-decl>
       <function-type size-in-bits='64' id='27ca88ce'>
@@ -26867,6 +26874,14 @@
       <array-type-def dimensions='1' type-id='d6b43ca8' size-in-bits='864' id='3871823f'>
         <subrange length='9' type-id='7ff19f0f' id='12e4273c'/>
       </array-type-def>
+      <union-decl name='__anonymous_union__' size-in-bits='6144' is-anonymous='yes' visibility='default' filepath='include/crypto/internal/hash.h' line='34' column='1' id='387ce826'>
+        <data-member access='public'>
+          <var-decl name='s' type-id='27c650c4' visibility='default' filepath='include/crypto/internal/hash.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public'>
+          <var-decl name='alg' type-id='d0f077d9' visibility='default' filepath='include/crypto/internal/hash.h' line='39' column='1'/>
+        </data-member>
+      </union-decl>
       <function-type size-in-bits='64' id='387ddca6'>
         <parameter type-id='43c38462'/>
         <parameter type-id='95e97e5e'/>
@@ -35274,6 +35289,7 @@
         <enumerator name='USB_SPEED_SUPER' value='5'/>
         <enumerator name='USB_SPEED_SUPER_PLUS' value='6'/>
       </enum-decl>
+      <pointer-type-def type-id='a818ea3e' size-in-bits='64' id='4e602d14'/>
       <function-type size-in-bits='64' id='4e62b18f'>
         <parameter type-id='f772df6d'/>
         <parameter type-id='bd54fe1a'/>
@@ -38900,6 +38916,7 @@
       </function-type>
       <class-decl name='ring_buffer_iter' is-struct='yes' visibility='default' is-declaration-only='yes' id='563595d9'/>
       <pointer-type-def type-id='8826ec36' size-in-bits='64' id='563fdf98'/>
+      <pointer-type-def type-id='e25b9229' size-in-bits='64' id='5645550d'/>
       <pointer-type-def type-id='4425ad49' size-in-bits='64' id='5646df36'/>
       <function-type size-in-bits='64' id='5651631f'>
         <parameter type-id='4b8b2cf3'/>
@@ -73380,6 +73397,14 @@
           <var-decl name='ws_ypixel' type-id='8efea9e5' visibility='default' filepath='include/uapi/asm-generic/termios.h' line='19' column='1'/>
         </data-member>
       </class-decl>
+      <class-decl name='ahash_instance' size-in-bits='7168' is-struct='yes' visibility='default' filepath='include/crypto/internal/hash.h' line='32' column='1' id='a818ea3e'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='free' type-id='5645550d' visibility='default' filepath='include/crypto/internal/hash.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='' type-id='387ce826' visibility='default' filepath='include/crypto/internal/hash.h' line='34' column='1'/>
+        </data-member>
+      </class-decl>
       <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' naming-typedef-id='4b1b543a' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='82' column='1' id='a81d1bba'>
         <data-member access='public' layout-offset-in-bits='0'>
           <var-decl name='dce' type-id='8efea9e5' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='83' column='1'/>
@@ -100158,6 +100183,10 @@
         <enumerator name='NETDEV_TX_BUSY' value='16'/>
       </enum-decl>
       <pointer-type-def type-id='081241b5' size-in-bits='64' id='e24c55c9'/>
+      <function-type size-in-bits='64' id='e25b9229'>
+        <parameter type-id='4e602d14'/>
+        <return type-id='48b5725f'/>
+      </function-type>
       <pointer-type-def type-id='bd36df2f' size-in-bits='64' id='e26114df'/>
       <pointer-type-def type-id='ef5bccc0' size-in-bits='64' id='e26652e6'/>
       <function-type size-in-bits='64' id='e26b47d7'>
@@ -117038,6 +117067,11 @@
         <parameter type-id='f0981eeb' name='key_len' filepath='lib/crypto/aes.c' line='187' column='1'/>
         <return type-id='95e97e5e'/>
       </function-decl>
+      <function-decl name='ahash_register_instance' mangled-name='ahash_register_instance' filepath='crypto/ahash.c' line='632' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ahash_register_instance'>
+        <parameter type-id='f0f856cb' name='tmpl' filepath='crypto/ahash.c' line='632' column='1'/>
+        <parameter type-id='4e602d14' name='inst' filepath='crypto/ahash.c' line='633' column='1'/>
+        <return type-id='95e97e5e'/>
+      </function-decl>
       <function-decl name='alarm_cancel' mangled-name='alarm_cancel' filepath='kernel/time/alarmtimer.c' line='429' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='alarm_cancel'>
         <parameter type-id='be65fdd0' name='alarm' filepath='kernel/time/alarmtimer.c' line='429' column='1'/>
         <return type-id='95e97e5e'/>
@@ -119675,6 +119709,14 @@
         <parameter type-id='19c2251e' name='mask' filepath='crypto/skcipher.c' line='752' column='1'/>
         <return type-id='95e97e5e'/>
       </function-decl>
+      <function-decl name='crypto_grab_spawn' mangled-name='crypto_grab_spawn' filepath='crypto/algapi.c' line='669' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_grab_spawn'>
+        <parameter type-id='5f880e0e' name='spawn' filepath='crypto/algapi.c' line='669' column='1'/>
+        <parameter type-id='708ae4d0' name='inst' filepath='crypto/algapi.c' line='669' column='1'/>
+        <parameter type-id='80f4b756' name='name' filepath='crypto/algapi.c' line='670' column='1'/>
+        <parameter type-id='19c2251e' name='type' filepath='crypto/algapi.c' line='670' column='1'/>
+        <parameter type-id='19c2251e' name='mask' filepath='crypto/algapi.c' line='670' column='1'/>
+        <return type-id='95e97e5e'/>
+      </function-decl>
       <function-decl name='crypto_has_alg' mangled-name='crypto_has_alg' filepath='crypto/api.c' line='578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_has_alg'>
         <parameter type-id='80f4b756' name='name' filepath='crypto/api.c' line='578' column='1'/>
         <parameter type-id='19c2251e' name='type' filepath='crypto/api.c' line='578' column='1'/>
@@ -119705,10 +119747,20 @@
         <parameter type-id='e4163de3' name='alg' filepath='crypto/aead.c' line='238' column='1'/>
         <return type-id='95e97e5e'/>
       </function-decl>
+      <function-decl name='crypto_register_aeads' mangled-name='crypto_register_aeads' filepath='crypto/aead.c' line='257' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_register_aeads'>
+        <parameter type-id='e4163de3' name='algs' filepath='crypto/aead.c' line='257' column='1'/>
+        <parameter type-id='95e97e5e' name='count' filepath='crypto/aead.c' line='257' column='1'/>
+        <return type-id='95e97e5e'/>
+      </function-decl>
       <function-decl name='crypto_register_ahash' mangled-name='crypto_register_ahash' filepath='crypto/ahash.c' line='584' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_register_ahash'>
         <parameter type-id='16144ad1' name='alg' filepath='crypto/ahash.c' line='584' column='1'/>
         <return type-id='95e97e5e'/>
       </function-decl>
+      <function-decl name='crypto_register_ahashes' mangled-name='crypto_register_ahashes' filepath='crypto/ahash.c' line='603' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_register_ahashes'>
+        <parameter type-id='16144ad1' name='algs' filepath='crypto/ahash.c' line='603' column='1'/>
+        <parameter type-id='95e97e5e' name='count' filepath='crypto/ahash.c' line='603' column='1'/>
+        <return type-id='95e97e5e'/>
+      </function-decl>
       <function-decl name='crypto_register_alg' mangled-name='crypto_register_alg' filepath='crypto/algapi.c' line='412' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_register_alg'>
         <parameter type-id='67f526b5' name='alg' filepath='crypto/algapi.c' line='412' column='1'/>
         <return type-id='95e97e5e'/>
@@ -119718,6 +119770,10 @@
         <parameter type-id='95e97e5e' name='count' filepath='crypto/algapi.c' line='467' column='1'/>
         <return type-id='95e97e5e'/>
       </function-decl>
+      <function-decl name='crypto_register_rng' mangled-name='crypto_register_rng' filepath='crypto/rng.c' line='177' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_register_rng'>
+        <parameter type-id='090a6ee7' name='alg' filepath='crypto/rng.c' line='177' column='1'/>
+        <return type-id='95e97e5e'/>
+      </function-decl>
       <function-decl name='crypto_register_rngs' mangled-name='crypto_register_rngs' filepath='crypto/rng.c' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_register_rngs'>
         <parameter type-id='090a6ee7' name='algs' filepath='crypto/rng.c' line='198' column='1'/>
         <parameter type-id='95e97e5e' name='count' filepath='crypto/rng.c' line='198' column='1'/>
@@ -119844,6 +119900,12 @@
         <parameter type-id='f0981eeb' name='keylen' filepath='crypto/skcipher.c' line='601' column='1'/>
         <return type-id='95e97e5e'/>
       </function-decl>
+      <function-decl name='crypto_spawn_tfm' mangled-name='crypto_spawn_tfm' filepath='crypto/algapi.c' line='744' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_spawn_tfm'>
+        <parameter type-id='5f880e0e' name='spawn' filepath='crypto/algapi.c' line='744' column='1'/>
+        <parameter type-id='19c2251e' name='type' filepath='crypto/algapi.c' line='744' column='1'/>
+        <parameter type-id='19c2251e' name='mask' filepath='crypto/algapi.c' line='745' column='1'/>
+        <return type-id='dfeb7f6c'/>
+      </function-decl>
       <function-decl name='crypto_spawn_tfm2' mangled-name='crypto_spawn_tfm2' filepath='crypto/algapi.c' line='770' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_spawn_tfm2'>
         <parameter type-id='5f880e0e' name='spawn' filepath='crypto/algapi.c' line='770' column='1'/>
         <return type-id='eaa32e2f'/>
@@ -119865,6 +119927,10 @@
         <parameter type-id='95e97e5e' name='count' filepath='crypto/algapi.c' line='487' column='1'/>
         <return type-id='48b5725f'/>
       </function-decl>
+      <function-decl name='crypto_unregister_rng' mangled-name='crypto_unregister_rng' filepath='crypto/rng.c' line='192' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_unregister_rng'>
+        <parameter type-id='090a6ee7' name='alg' filepath='crypto/rng.c' line='192' column='1'/>
+        <return type-id='48b5725f'/>
+      </function-decl>
       <function-decl name='crypto_unregister_rngs' mangled-name='crypto_unregister_rngs' filepath='crypto/rng.c' line='218' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_unregister_rngs'>
         <parameter type-id='090a6ee7' name='algs' filepath='crypto/rng.c' line='218' column='1'/>
         <parameter type-id='95e97e5e' name='count' filepath='crypto/rng.c' line='218' column='1'/>

+ 28 - 10
android/abi_gki_aarch64_fips140

@@ -6,12 +6,14 @@
 # required by fips140.ko
   add_random_ready_callback
   aead_register_instance
-  arm64_const_caps_ready
+  ahash_register_instance
+  arch_timer_read_counter
   bcmp
   cancel_work_sync
   __cfi_slowpath
+  complete_all
+  completion_done
   cpu_have_feature
-  cpu_hwcap_keys
   crypto_aead_decrypt
   crypto_aead_encrypt
   crypto_aead_setauthsize
@@ -19,7 +21,6 @@
   crypto_ahash_finup
   crypto_ahash_setkey
   crypto_alg_list
-  crypto_alg_mod_lookup
   crypto_alg_sem
   crypto_alloc_aead
   crypto_alloc_base
@@ -28,7 +29,6 @@
   crypto_alloc_skcipher
   crypto_attr_alg_name
   crypto_check_attr_type
-  crypto_cipher_decrypt_one
   crypto_cipher_encrypt_one
   crypto_cipher_setkey
   crypto_destroy_tfm
@@ -38,17 +38,23 @@
   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_final
   crypto_remove_spawns
   crypto_req_done
   crypto_rng_reset
@@ -63,8 +69,10 @@
   crypto_skcipher_encrypt
   crypto_skcipher_setkey
   crypto_spawn_tfm2
+  crypto_spawn_tfm
   crypto_unregister_aead
   crypto_unregister_alg
+  crypto_unregister_rng
   crypto_unregister_rngs
   crypto_unregister_shash
   crypto_unregister_shashes
@@ -87,6 +95,7 @@
   kmalloc_order_trace
   kmem_cache_alloc_trace
   kmemdup
+  ktime_get
   __list_add_valid
   __list_del_entry_valid
   memcpy
@@ -99,6 +108,9 @@
   preempt_schedule_notrace
   printk
   queue_work_on
+  ___ratelimit
+  _raw_spin_lock
+  _raw_spin_unlock
   refcount_warn_saturate
   scatterwalk_ffwd
   scatterwalk_map_and_copy
@@ -121,7 +133,6 @@
   strlcpy
   strlen
   strncmp
-  synchronize_rcu_tasks
   system_wq
   __traceiter_android_vh_aes_decrypt
   __traceiter_android_vh_aes_encrypt
@@ -134,23 +145,29 @@
   tracepoint_probe_register
   up_write
   wait_for_completion
+  xa_load
+  xa_store
 
-# needed by fips140.ko but not identified by the tooling
-# TODO(b/189327973): [GKI: ABI] Build of fips140.ko module fails to identify some symbols
-  __crypto_memneq
-  __crypto_xor
+# preserved by --additions-only
   aes_decrypt
   aes_encrypt
   aes_expandkey
+  arm64_const_caps_ready
   ce_aes_expandkey
+  cpu_hwcap_keys
   crypto_aes_inv_sbox
   crypto_aes_sbox
   crypto_aes_set_key
+  crypto_alg_mod_lookup
+  crypto_cipher_decrypt_one
   crypto_ft_tab
   crypto_inc
   crypto_it_tab
+  __crypto_memneq
+  crypto_remove_final
   crypto_sha1_finup
   crypto_sha1_update
+  __crypto_xor
   gf128mul_lle
   sha1_transform
   sha224_final
@@ -158,3 +175,4 @@
   sha256_block_data_order
   sha256_final
   sha256_update
+  synchronize_rcu_tasks

+ 1 - 0
build.config.gki.aarch64.fips140

@@ -15,3 +15,4 @@ DEFCONFIG=fips140_gki_defconfig
 KMI_SYMBOL_LIST=android/abi_gki_aarch64_fips140
 PRE_DEFCONFIG_CMDS="cat ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/gki_defconfig ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/fips140_gki.fragment > ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/${DEFCONFIG};"
 POST_DEFCONFIG_CMDS="rm ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/${DEFCONFIG}"
+KMI_SYMBOL_LIST_ADD_ONLY=1