|
@@ -500,7 +500,7 @@ struct sk_buff {
|
|
|
union {
|
|
|
__u32 mark;
|
|
|
__u32 dropcount;
|
|
|
- __u32 avail_size;
|
|
|
+ __u32 reserved_tailroom;
|
|
|
};
|
|
|
|
|
|
sk_buff_data_t inner_transport_header;
|
|
@@ -1447,7 +1447,10 @@ static inline int skb_tailroom(const struct sk_buff *skb)
|
|
|
*/
|
|
|
static inline int skb_availroom(const struct sk_buff *skb)
|
|
|
{
|
|
|
- return skb_is_nonlinear(skb) ? 0 : skb->avail_size - skb->len;
|
|
|
+ if (skb_is_nonlinear(skb))
|
|
|
+ return 0;
|
|
|
+
|
|
|
+ return skb->end - skb->tail - skb->reserved_tailroom;
|
|
|
}
|
|
|
|
|
|
/**
|