ANDROID: bring back kfree_skb()

In commit 5158e18225 ("net: skb: introduce kfree_skb_reason()"),
kfree_skb() was turned into an inline function calling
kfree_skb_reason() instead.  To preserve the Android ABI, turn it back
into a "real" function so that external drivers can still find this
symbol.

Bug: 161946584
Fixes: 5158e18225 ("net: skb: introduce kfree_skb_reason()")
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I0f54443c0793bb29e847be5921f53e09ca2981ad
This commit is contained in:
Greg Kroah-Hartman
2022-08-10 19:28:03 +02:00
parent 80c87c5355
commit 6200d52476
2 changed files with 15 additions and 9 deletions

View File

@@ -1117,15 +1117,7 @@ static inline bool skb_unref(struct sk_buff *skb)
}
void kfree_skb_reason(struct sk_buff *skb, enum skb_drop_reason reason);
/**
* kfree_skb - free an sk_buff with 'NOT_SPECIFIED' reason
* @skb: buffer to free
*/
static inline void kfree_skb(struct sk_buff *skb)
{
kfree_skb_reason(skb, SKB_DROP_REASON_NOT_SPECIFIED);
}
void kfree_skb(struct sk_buff *skb);
void skb_release_head_state(struct sk_buff *skb);
void kfree_skb_list(struct sk_buff *segs);

View File

@@ -779,6 +779,20 @@ void kfree_skb_reason(struct sk_buff *skb, enum skb_drop_reason reason)
}
EXPORT_SYMBOL(kfree_skb_reason);
/**
* kfree_skb - free an sk_buff with 'NOT_SPECIFIED' reason
* @skb: buffer to free
*/
void kfree_skb(struct sk_buff *skb)
{
/* ANDROID: only still present to preserve the ABI, this went away in
* mainline and LTS releases, to be replaced with an inline version
* instead.
*/
kfree_skb_reason(skb, SKB_DROP_REASON_NOT_SPECIFIED);
}
EXPORT_SYMBOL(kfree_skb);
void kfree_skb_list(struct sk_buff *segs)
{
while (segs) {