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
RDMA/ucma: Check that device exists prior to accessing it
[pandora-kernel.git]
/
net
/
ipv6
/
icmp.c
diff --git
a/net/ipv6/icmp.c
b/net/ipv6/icmp.c
index
90868fb
..
ceced67
100644
(file)
--- a/
net/ipv6/icmp.c
+++ b/
net/ipv6/icmp.c
@@
-499,7
+499,7
@@
void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info)
np->tclass, NULL, &fl6, (struct rt6_info*)dst,
MSG_DONTWAIT, np->dontfrag);
if (err) {
np->tclass, NULL, &fl6, (struct rt6_info*)dst,
MSG_DONTWAIT, np->dontfrag);
if (err) {
- ICMP6_INC_STATS
_BH
(net, idev, ICMP6_MIB_OUTERRORS);
+ ICMP6_INC_STATS(net, idev, ICMP6_MIB_OUTERRORS);
ip6_flush_pending_frames(sk);
} else {
err = icmpv6_push_pending_frames(sk, &fl6, &tmp_hdr,
ip6_flush_pending_frames(sk);
} else {
err = icmpv6_push_pending_frames(sk, &fl6, &tmp_hdr,
@@
-911,6
+911,14
@@
static const struct icmp6_err {
.err = ECONNREFUSED,
.fatal = 1,
},
.err = ECONNREFUSED,
.fatal = 1,
},
+ { /* POLICY_FAIL */
+ .err = EACCES,
+ .fatal = 1,
+ },
+ { /* REJECT_ROUTE */
+ .err = EACCES,
+ .fatal = 1,
+ },
};
int icmpv6_err_convert(u8 type, u8 code, int *err)
};
int icmpv6_err_convert(u8 type, u8 code, int *err)
@@
-922,7
+930,7
@@
int icmpv6_err_convert(u8 type, u8 code, int *err)
switch (type) {
case ICMPV6_DEST_UNREACH:
fatal = 1;
switch (type) {
case ICMPV6_DEST_UNREACH:
fatal = 1;
- if (code <
= ICMPV6_PORT_UNREACH
) {
+ if (code <
ARRAY_SIZE(tab_unreach)
) {
*err = tab_unreach[code].err;
fatal = tab_unreach[code].fatal;
}
*err = tab_unreach[code].err;
fatal = tab_unreach[code].fatal;
}