git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ip_forward: Drop frames with attached skb->sk
[pandora-kernel.git]
/
net
/
ipv4
/
ip_forward.c
diff --git
a/net/ipv4/ip_forward.c
b/net/ipv4/ip_forward.c
index
3b34d1c
..
bcd78a3
100644
(file)
--- a/
net/ipv4/ip_forward.c
+++ b/
net/ipv4/ip_forward.c
@@
-57,6
+57,9
@@
int ip_forward(struct sk_buff *skb)
struct rtable *rt; /* Route we use */
struct ip_options * opt = &(IPCB(skb)->opt);
struct rtable *rt; /* Route we use */
struct ip_options * opt = &(IPCB(skb)->opt);
+ if (unlikely(skb->sk))
+ goto drop;
+
if (skb_warn_if_lro(skb))
goto drop;
if (skb_warn_if_lro(skb))
goto drop;
@@
-84,7
+87,7
@@
int ip_forward(struct sk_buff *skb)
rt = skb_rtable(skb);
rt = skb_rtable(skb);
- if (opt->is_strictroute &&
ip_hdr(skb)->daddr
!= rt->rt_gateway)
+ if (opt->is_strictroute &&
opt->nexthop
!= rt->rt_gateway)
goto sr_failed;
if (unlikely(skb->len > dst_mtu(&rt->dst) && !skb_is_gso(skb) &&
goto sr_failed;
if (unlikely(skb->len > dst_mtu(&rt->dst) && !skb_is_gso(skb) &&