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
Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
[pandora-kernel.git]
/
net
/
ipv4
/
ip_options.c
diff --git
a/net/ipv4/ip_options.c
b/net/ipv4/ip_options.c
index
1906fa3
..
2391b24
100644
(file)
--- a/
net/ipv4/ip_options.c
+++ b/
net/ipv4/ip_options.c
@@
-140,11
+140,11
@@
int ip_options_echo(struct ip_options * dopt, struct sk_buff * skb)
} else {
dopt->ts_needtime = 0;
} else {
dopt->ts_needtime = 0;
- if (soffset +
8
<= optlen) {
+ if (soffset +
7
<= optlen) {
__be32 addr;
__be32 addr;
- memcpy(&addr,
s
ptr+soffset-1, 4);
- if (inet_addr_type(dev_net(skb_dst(skb)->dev), addr) != RTN_
LOCAL
) {
+ memcpy(&addr,
d
ptr+soffset-1, 4);
+ if (inet_addr_type(dev_net(skb_dst(skb)->dev), addr) != RTN_
UNICAST
) {
dopt->ts_needtime = 1;
soffset += 8;
}
dopt->ts_needtime = 1;
soffset += 8;
}
@@
-329,7
+329,7
@@
int ip_options_compile(struct net *net,
pp_ptr = optptr + 2;
goto error;
}
pp_ptr = optptr + 2;
goto error;
}
- if (
skb
) {
+ if (
rt
) {
memcpy(&optptr[optptr[2]-1], &rt->rt_spec_dst, 4);
opt->is_changed = 1;
}
memcpy(&optptr[optptr[2]-1], &rt->rt_spec_dst, 4);
opt->is_changed = 1;
}
@@
-371,7
+371,7
@@
int ip_options_compile(struct net *net,
goto error;
}
opt->ts = optptr - iph;
goto error;
}
opt->ts = optptr - iph;
- if (
skb)
{
+ if (
rt)
{
memcpy(&optptr[optptr[2]-1], &rt->rt_spec_dst, 4);
timeptr = (__be32*)&optptr[optptr[2]+3];
}
memcpy(&optptr[optptr[2]-1], &rt->rt_spec_dst, 4);
timeptr = (__be32*)&optptr[optptr[2]+3];
}
@@
-603,7
+603,7
@@
int ip_options_rcv_srr(struct sk_buff *skb)
unsigned long orefdst;
int err;
unsigned long orefdst;
int err;
- if (!opt->srr)
+ if (!opt->srr
|| !rt
)
return 0;
if (skb->pkt_type != PACKET_HOST)
return 0;
if (skb->pkt_type != PACKET_HOST)