diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2005-04-24 20:16:19 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-04-24 20:16:19 -0700 |
commit | 0d3d077cd4f1154e63a9858e47fe3fb1ad0c03e5 (patch) | |
tree | 63f376b3586412af712ffac7d500516c98f7bb2c /include/net | |
parent | aa77d26961fa4ecb11fe4209578dcd62ad15819d (diff) | |
download | op-kernel-dev-0d3d077cd4f1154e63a9858e47fe3fb1ad0c03e5.zip op-kernel-dev-0d3d077cd4f1154e63a9858e47fe3fb1ad0c03e5.tar.gz |
[SELINUX]: Fix ipv6_skip_exthdr() invocation causing OOPS.
The SELinux hooks invoke ipv6_skip_exthdr() with an incorrect
length final argument. However, the length argument turns out
to be superfluous.
I was just reading ipv6_skip_exthdr and it occured to me that we can
get rid of len altogether. The only place where len is used is to
check whether the skb has two bytes for ipv6_opt_hdr. This check
is done by skb_header_pointer/skb_copy_bits anyway.
Now it might appear that we've made the code slower by deferring
the check to skb_copy_bits. However, this check should not trigger
in the common case so this is OK.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/ipv6.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/net/ipv6.h b/include/net/ipv6.h index 87c45cb..771b47e 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h @@ -416,7 +416,7 @@ extern void ipv6_push_frag_opts(struct sk_buff *skb, u8 *proto); extern int ipv6_skip_exthdr(const struct sk_buff *, int start, - u8 *nexthdrp, int len); + u8 *nexthdrp); extern int ipv6_ext_hdr(u8 nexthdr); |