Hi, While looking deeper into the genksyms hacks that have been needed during Android's 5.10 and 5.15 GKI lifecycles so far, we found a few instances that are not covered by the existing gendwarfksyms kABI stability rules. The first case involved appending new members to a partially opaque data structure, and the second case completely changing opaque types due to a large backport that was necessary for both stability and security.
These patches add rules that allow distribution maintainers to deal with structure size changes, and as a last resort, to completely override a type string used for version calculation. Sami --- v3: - Added a patch to drop documentation section numbers based on Masahiro's suggestion. v2: https://lore.kernel.org/r/20250505212401.3379699-6-samitolva...@google.com/ - Cleaned up type string parsing based on Petr's feedback. v1: https://lore.kernel.org/r/20250430214049.2658716-6-samitolva...@google.com/ --- Sami Tolvanen (5): gendwarfksyms: Clean up kABI rule look-ups gendwarfksyms: Add a kABI rule to override byte_size attributes gendwarfksyms: Add a kABI rule to override type strings Documentation/kbuild: Drop section numbers Documentation/kbuild: Add new gendwarfksyms kABI rules Documentation/kbuild/gendwarfksyms.rst | 141 +++++++++++++++++----- scripts/gendwarfksyms/dwarf.c | 14 ++- scripts/gendwarfksyms/examples/kabi.h | 21 +++- scripts/gendwarfksyms/examples/kabi_ex.c | 7 ++ scripts/gendwarfksyms/examples/kabi_ex.h | 101 +++++++++++++++- scripts/gendwarfksyms/gendwarfksyms.h | 2 + scripts/gendwarfksyms/kabi.c | 143 ++++++++++++++--------- scripts/gendwarfksyms/types.c | 140 +++++++++++++++++++--- 8 files changed, 470 insertions(+), 99 deletions(-) base-commit: 92a09c47464d040866cf2b4cd052bc60555185fb -- 2.49.0.987.g0cc8ee98dc-goog