Revert "ANDROID: ABI fixup for abi break in struct dst_ops"

This reverts commit ec1b288e67.

Reason for revert: Conflicts with upstream commits.

Change-Id: I7dae59ba64170b508615e8ef7156c4eb3d840a96
This commit is contained in:
Michael Bestas 2025-03-19 07:31:51 +02:00
commit 34d9540ea1
No known key found for this signature in database
5 changed files with 6 additions and 24 deletions

View file

@ -12,16 +12,6 @@ struct sk_buff;
struct sock;
struct net;
/* *** ANDROID FIXUP ***
* These typedefs are used to help fixup the ABI break caused by commit
* 92f1655aa2b2 ("net: fix __dst_negative_advice() race") where the
* negative_advice callback changed function signatures.
* See b/343727534 for more details.
* *** ANDROID FIXUP ***
*/
typedef void (*android_dst_ops_negative_advice_new_t)(struct sock *sk, struct dst_entry *);
typedef struct dst_entry * (*android_dst_ops_negative_advice_old_t)(struct dst_entry *);
struct dst_ops {
unsigned short family;
unsigned int gc_thresh;
@ -34,7 +24,7 @@ struct dst_ops {
void (*destroy)(struct dst_entry *);
void (*ifdown)(struct dst_entry *,
struct net_device *dev, int how);
struct dst_entry * (*negative_advice)(struct dst_entry *);
void (*negative_advice)(struct sock *sk, struct dst_entry *);
void (*link_failure)(struct sk_buff *);
void (*update_pmtu)(struct dst_entry *dst, struct sock *sk,
struct sk_buff *skb, u32 mtu,

View file

@ -1936,20 +1936,12 @@ sk_dst_get(struct sock *sk)
static inline void dst_negative_advice(struct sock *sk)
{
/* *** ANDROID FIXUP ***
* See b/343727534 for more details why this typedef is needed here.
* *** ANDROID FIXUP ***
*/
android_dst_ops_negative_advice_new_t negative_advice;
struct dst_entry *dst = __sk_dst_get(sk);
sk_rethink_txhash(sk);
if (dst && dst->ops->negative_advice) {
negative_advice = (android_dst_ops_negative_advice_new_t)dst->ops->negative_advice;
negative_advice(sk, dst);
}
if (dst && dst->ops->negative_advice)
dst->ops->negative_advice(sk, dst);
}
static inline void

View file

@ -165,7 +165,7 @@ static struct dst_ops ipv4_dst_ops = {
.mtu = ipv4_mtu,
.cow_metrics = ipv4_cow_metrics,
.destroy = ipv4_dst_destroy,
.negative_advice = (android_dst_ops_negative_advice_old_t)ipv4_negative_advice,
.negative_advice = ipv4_negative_advice,
.link_failure = ipv4_link_failure,
.update_pmtu = ip_rt_update_pmtu,
.redirect = ip_do_redirect,

View file

@ -250,7 +250,7 @@ static struct dst_ops ip6_dst_ops_template = {
.cow_metrics = dst_cow_metrics_generic,
.destroy = ip6_dst_destroy,
.ifdown = ip6_dst_ifdown,
.negative_advice = (android_dst_ops_negative_advice_old_t)ip6_negative_advice,
.negative_advice = ip6_negative_advice,
.link_failure = ip6_link_failure,
.update_pmtu = ip6_rt_update_pmtu,
.redirect = rt6_do_redirect,

View file

@ -3949,7 +3949,7 @@ int xfrm_policy_register_afinfo(const struct xfrm_policy_afinfo *afinfo, int fam
if (likely(dst_ops->mtu == NULL))
dst_ops->mtu = xfrm_mtu;
if (likely(dst_ops->negative_advice == NULL))
dst_ops->negative_advice = (android_dst_ops_negative_advice_old_t)xfrm_negative_advice;
dst_ops->negative_advice = xfrm_negative_advice;
if (likely(dst_ops->link_failure == NULL))
dst_ops->link_failure = xfrm_link_failure;
if (likely(dst_ops->neigh_lookup == NULL))