ANDROID: Fix abi issues in struct sk_buff

In commit 18685451fc4e ("inet: inet_defrag: prevent sk release while
still in use"), struct sk_buff dropped an unneeded union structure.
This did not change the actual structure size or layout at all, but the
abi checker didn't like it.  So trick it by putting some __GENKSYMS__
markers in to preserve the abi correctly.

Bug: 335584858
Fixes: 18685451fc4e ("inet: inet_defrag: prevent sk release while still in use")
Change-Id: I78ca54f9df3e03cccebc326babf1d84ccb5dc781
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Greg Kroah-Hartman
2024-07-15 15:17:23 +00:00
committed by Matthias Männich
parent 47d9c7690e
commit 4965ad067b
3 changed files with 10 additions and 20 deletions

View File

@@ -41288,11 +41288,6 @@ member {
id: 0x3e4f626d
type_id: 0x7613f9a7
}
member {
id: 0x3e5d0376
type_id: 0x765a5eef
offset: 192
}
member {
id: 0x3e670f18
type_id: 0x76b2536c
@@ -111885,11 +111880,6 @@ member {
type_id: 0x18bd6530
offset: 4992
}
member {
id: 0x0e850e04
name: "ip_defrag_offset"
type_id: 0x6720d32f
}
member {
id: 0xbc6a844a
name: "ip_epilogue"
@@ -218986,15 +218976,6 @@ struct_union {
member_id: 0xa70d7362
}
}
struct_union {
id: 0x765a5eef
kind: UNION
definition {
bytesize: 8
member_id: 0x828c89b5
member_id: 0x0e850e04
}
}
struct_union {
id: 0x7689fdd5
kind: UNION
@@ -258615,7 +258596,7 @@ struct_union {
definition {
bytesize: 248
member_id: 0x34366909
member_id: 0x3e5d0376
member_id: 0x828c817c
member_id: 0x318fd08b
member_id: 0x53e7b9ea
member_id: 0x345f6930

View File

@@ -872,7 +872,14 @@ struct sk_buff {
struct llist_node ll_node;
};
#ifdef __GENKSYMS__
union {
struct sock *sk;
int ip_defrag_offset;
};
#else
struct sock *sk;
#endif
union {
ktime_t tstamp;

View File

@@ -24,7 +24,9 @@
#include <net/ip.h>
#include <net/ipv6.h>
#ifndef __GENKSYMS__
#include "../core/sock_destructor.h"
#endif
/* Use skb->cb to track consecutive/adjacent fragments coming at
* the end of the queue. Nodes in the rb-tree queue will