ANDROID: GKI: fix up abi issues with 4.19.172
The futex changes in 4.19.172 required some additions to struct
task_struct, which of course, is a structure used by just about
everyone.
To preserve the abi, do some gyrations with the reserved fields in order
to handle the growth of the structure. Given that we are adding a
larger structure than a pointer, carve out a chunk of reserved fields
from the block we were reserving.
These changes fix the genksyms issues, but libabigail is smarter than
that, so we also need to update the .xml file to make it happy with this
change.
The results of libabigail is:
Leaf changes summary: 1 artifact changed
Changed leaf types summary: 1 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
'struct task_struct at sched.h:647:1' changed:
type size hasn't changed
3 data member deletions:
'u64 task_struct::android_kabi_reserved4', at offset 22592 (in bits) at sched.h:1300:1
'u64 task_struct::android_kabi_reserved5', at offset 22656 (in bits) at sched.h:1301:1
'u64 task_struct::android_kabi_reserved6', at offset 22720 (in bits) at sched.h:1302:1
there are data member changes:
data member u64 task_struct::android_kabi_reserved2 at offset 22464 (in bits) became anonymous data member 'union {unsigned int futex_state; struct {u64 android_kabi_reserved2;} __UNIQUE_ID_android_kabi_hide48; union {};}'
type 'typedef u64' of 'task_struct::android_kabi_reserved3' changed:
entity changed from 'typedef u64' to 'struct mutex' at mutex.h:53:1
type size changed from 64 to 256 (in bits)
and name of 'task_struct::android_kabi_reserved3' changed to 'task_struct::futex_exit_mutex' at sched.h:1313:1
1955 impacted interfaces
Bug: 161946584
Signed-off-by:
Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Iab623aa5441c1d11e2dc4eb77c7153e4e9517429
Loading
Please register or sign in to comment