ANDROID: GKI: bring back icmpv6_send

In 5.4.102 the icmpv6_send() was replaced with an inline function.
Bring it back to provide for modules that used this symbol to preserve
the ABI.

Bug: 161946584
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Id1a914518f6e850f6bb96b5449c15eda3a7a7fd8
This commit is contained in:
Greg Kroah-Hartman 2021-03-04 11:30:53 +01:00
parent 797bd53ae8
commit 32ff5fbcab
2 changed files with 13 additions and 4 deletions

View File

@ -44,10 +44,7 @@ extern int inet6_register_icmp_sender(ip6_icmp_send_t *fn);
extern int inet6_unregister_icmp_sender(ip6_icmp_send_t *fn);
#endif
static inline void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info)
{
__icmpv6_send(skb, type, code, info, IP6CB(skb));
}
void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info);
int ip6_err_gen_icmpv6_unreach(struct sk_buff *skb, int nhs, int type,
unsigned int data_len);

View File

@ -47,6 +47,18 @@ void __icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info,
EXPORT_SYMBOL(__icmpv6_send);
#endif
/*
* ANDROID API HACK for android11-5.4 branch only
*
* Work around loss of icmpv6_send global symbol that got moved to __icmpv6_send
* in 5.4.102
*/
void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info)
{
__icmpv6_send(skb, type, code, info, IP6CB(skb));
}
EXPORT_SYMBOL(icmpv6_send);
#if IS_ENABLED(CONFIG_NF_NAT)
#include <net/netfilter/nf_conntrack.h>
void icmpv6_ndo_send(struct sk_buff *skb_in, u8 type, u8 code, __u32 info)