ANDROID: af_unix: Provide ABI fixes for recently introduced 'struct scm_fp_list' attribute 'inflight'

Adding new attributes to the ABI protected 'struct scm_fp_list' changes
the offsets of the fields already present in the structure which could
cause issues if modules already have a copy and are unaware of the
changes.  Let's add it to the end of the structure, under the protection
of __GENKSYMS__ as is SOP.

Bug: 404256079
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I776f47b1268a44bfd3d890797d5031af145f2782
This commit is contained in:
Lee Jones
2025-06-19 11:17:03 +01:00
parent 769fc01f23
commit 40549e6976
3 changed files with 24 additions and 13 deletions

View File

@@ -71111,10 +71111,10 @@ member {
type_id: 0x0484940b type_id: 0x0484940b
} }
member { member {
id: 0x11d6ba75 id: 0x11d6bda9
name: "count_unix" name: "count_unix"
type_id: 0xb0312d5a type_id: 0xb0312d5a
offset: 16512 offset: 16576
} }
member { member {
id: 0x20014498 id: 0x20014498
@@ -86203,10 +86203,10 @@ member {
offset: 1728 offset: 1728
} }
member { member {
id: 0x76d74bd1 id: 0x76d74733
name: "edges" name: "edges"
type_id: 0x1df3293f type_id: 0x1df3293f
offset: 16448 offset: 16512
} }
member { member {
id: 0x31c31f3f id: 0x31c31f3f
@@ -112759,6 +112759,12 @@ member {
type_id: 0xd3c80119 type_id: 0xd3c80119
offset: 2752 offset: 2752
} }
member {
id: 0x799ec517
name: "inflight"
type_id: 0x6d7f5ff6
offset: 16320
}
member { member {
id: 0x79c0c441 id: 0x79c0c441
name: "inflight" name: "inflight"
@@ -212702,10 +212708,10 @@ member {
offset: 16 offset: 16
} }
member { member {
id: 0x7b11d7cc id: 0x7b11d1cc
name: "vertices" name: "vertices"
type_id: 0xd3c80119 type_id: 0xd3c80119
offset: 16320 offset: 16384
} }
member { member {
id: 0x444fc004 id: 0x444fc004
@@ -266989,14 +266995,15 @@ struct_union {
kind: STRUCT kind: STRUCT
name: "scm_fp_list" name: "scm_fp_list"
definition { definition {
bytesize: 2072 bytesize: 2080
member_id: 0x65956ee9 member_id: 0x65956ee9
member_id: 0x97463852 member_id: 0x97463852
member_id: 0x042a2402 member_id: 0x042a2402
member_id: 0x5449f846 member_id: 0x5449f846
member_id: 0x7b11d7cc member_id: 0x799ec517
member_id: 0x76d74bd1 member_id: 0x7b11d1cc
member_id: 0x11d6ba75 member_id: 0x76d74733
member_id: 0x11d6bda9
} }
} }
struct_union { struct_union {

View File

@@ -157,3 +157,9 @@ type 'struct scm_fp_list' changed
member 'short count_unix' changed member 'short count_unix' changed
offset changed by 64 offset changed by 64
type 'struct scm_fp_list' changed
byte size changed from 2072 to 2080
member 'bool inflight' was added
3 members ('struct list_head vertices' .. 'short count_unix') changed
offset changed by 64

View File

@@ -29,13 +29,11 @@ struct unix_edge;
struct scm_fp_list { struct scm_fp_list {
short count; short count;
short max; short max;
#ifdef CONFIG_UNIX
bool inflight;
#endif
struct user_struct *user; struct user_struct *user;
struct file *fp[SCM_MAX_FD]; struct file *fp[SCM_MAX_FD];
#ifndef __GENKSYMS__ #ifndef __GENKSYMS__
#ifdef CONFIG_UNIX #ifdef CONFIG_UNIX
bool inflight;
struct list_head vertices; struct list_head vertices;
struct unix_edge *edges; struct unix_edge *edges;
#endif #endif