ANDROID: Revert ABI breakage due to accidental CRC value changes
Commit 01e61d38593c ("ANDROID: vendor_hooks: Add hooks for lookaround")
subtly changed the CRC values computed for 5 symbols:
buffer_migrate_page
migrate_page_copy
migrate_page_move_mapping
migrate_page_states
migrate_pages
This was caused by an include in mm/migrate.c that exposed additional
type information relevant for the modversions CRC computation. Commit
930cf7174fe2 ("ANDROID: oplus: Update the ABI xml and symbol list")
updated the ABI representation and that breaking change was unnoticed.
Fix that by guarding the include and reverting the ABI definition.
Effective ABI change:
function symbol 'int buffer_migrate_page(struct address_space *, struct page *, struct page *, enum migrate_mode)' changed
CRC changed from 0x7951f1db to 0xcdeca50f
function symbol 'void migrate_page_copy(struct page *, struct page *)' changed
CRC changed from 0xb3b9058d to 0xe97d88f0
function symbol 'int migrate_page_move_mapping(struct address_space *, struct page *, struct page *, int)' changed
CRC changed from 0x74bd3238 to 0xb7809eee
function symbol 'void migrate_page_states(struct page *, struct page *)' changed
CRC changed from 0x32ac080e to 0x8caf3272
function symbol 'int migrate_pages(struct list_head *, new_page_t *, free_page_t *, unsigned long int, enum migrate_mode, int, unsigned int *)' changed
CRC changed from 0xe0b25d16 to 0x90f84eaa
Bug: 296960489
Fixes: 01e61d38593c ("ANDROID: vendor_hooks: Add hooks for lookaround")
Signed-off-by: Matthias Maennich <maennich@google.com>
(cherry picked from https://android-review.googlesource.com/q/commit:4f49704212e04e8fec00989f31fc8141f5dfa358)
Merged-In: I62421984a3e0306490db8e62e86562a95ea06ef4
Change-Id: I62421984a3e0306490db8e62e86562a95ea06ef4
diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml
index 1301958..af2f3a8 100644
--- a/android/abi_gki_aarch64.xml
+++ b/android/abi_gki_aarch64.xml
@@ -1221,7 +1221,7 @@
<elf-symbol name='btbcm_set_bdaddr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x730ab115'/>
<elf-symbol name='btbcm_setup_apple' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x61f110a7'/>
<elf-symbol name='btbcm_setup_patchram' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x393b71ce'/>
- <elf-symbol name='buffer_migrate_page' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x7951f1db'/>
+ <elf-symbol name='buffer_migrate_page' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xcdeca50f'/>
<elf-symbol name='build_skb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xff5522b'/>
<elf-symbol name='bus_find_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x467a1371'/>
<elf-symbol name='bus_for_each_dev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x58f4e904'/>
@@ -3920,10 +3920,10 @@
<elf-symbol name='memunmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x9e9fdd9d'/>
<elf-symbol name='mfd_add_devices' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xd68a3b1'/>
<elf-symbol name='mfd_remove_devices' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x35c8a608'/>
- <elf-symbol name='migrate_page_copy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xb3b9058d'/>
- <elf-symbol name='migrate_page_move_mapping' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x74bd3238'/>
- <elf-symbol name='migrate_page_states' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x32ac080e'/>
- <elf-symbol name='migrate_pages' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe0b25d16'/>
+ <elf-symbol name='migrate_page_copy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xe97d88f0'/>
+ <elf-symbol name='migrate_page_move_mapping' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xb7809eee'/>
+ <elf-symbol name='migrate_page_states' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x8caf3272'/>
+ <elf-symbol name='migrate_pages' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x90f84eaa'/>
<elf-symbol name='migrate_swap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x86c6d1b9'/>
<elf-symbol name='mii_check_media' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0xa0eb9154'/>
<elf-symbol name='mii_ethtool_get_link_ksettings' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes' crc='0x41c03553'/>
diff --git a/mm/migrate.c b/mm/migrate.c
index 067f2bb..704e82a 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -57,7 +57,9 @@
#include <trace/events/migrate.h>
#undef CREATE_TRACE_POINTS
+#ifndef __GENKSYMS__
#include <trace/hooks/mm.h>
+#endif
#include "internal.h"