|
@@ -452,11 +452,12 @@ int sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
|
|
|
}
|
|
|
EXPORT_SYMBOL(sock_queue_rcv_skb);
|
|
|
|
|
|
-int sk_receive_skb(struct sock *sk, struct sk_buff *skb, const int nested)
|
|
|
+int __sk_receive_skb(struct sock *sk, struct sk_buff *skb,
|
|
|
+ const int nested, unsigned int trim_cap)
|
|
|
{
|
|
|
int rc = NET_RX_SUCCESS;
|
|
|
|
|
|
- if (sk_filter(sk, skb))
|
|
|
+ if (sk_filter_trim_cap(sk, skb, trim_cap))
|
|
|
goto discard_and_relse;
|
|
|
|
|
|
skb->dev = NULL;
|
|
@@ -492,7 +493,7 @@ discard_and_relse:
|
|
|
kfree_skb(skb);
|
|
|
goto out;
|
|
|
}
|
|
|
-EXPORT_SYMBOL(sk_receive_skb);
|
|
|
+EXPORT_SYMBOL(__sk_receive_skb);
|
|
|
|
|
|
struct dst_entry *__sk_dst_check(struct sock *sk, u32 cookie)
|
|
|
{
|