diff options
author | Eric Dumazet <edumazet@google.com> | 2013-09-26 08:44:06 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-09-30 15:32:05 -0400 |
commit | b86783587b3d1d552326d955acee37eac48800f1 (patch) | |
tree | 2ec80b0d34dd59c4bc330c0fcb467d57bcc760ba | |
parent | 8386040b76a46885280b9b19f7080bf7fb558fca (diff) | |
download | op-kernel-dev-b86783587b3d1d552326d955acee37eac48800f1.zip op-kernel-dev-b86783587b3d1d552326d955acee37eac48800f1.tar.gz |
net: flow_dissector: fix thoff for IPPROTO_AH
In commit 8ed781668dd49 ("flow_keys: include thoff into flow_keys for
later usage"), we missed that existing code was using nhoff as a
temporary variable that could not always contain transport header
offset.
This is not a problem for TCP/UDP because port offset (@poff)
is 0 for these protocols.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Daniel Borkmann <dborkman@redhat.com>
Cc: Nikolay Aleksandrov <nikolay@redhat.com>
Acked-by: Nikolay Aleksandrov <nikolay@redhat.com>
Acked-by: Daniel Borkmann <dborkman@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/core/flow_dissector.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c index 1929af8..8d7d0dd 100644 --- a/net/core/flow_dissector.c +++ b/net/core/flow_dissector.c @@ -154,8 +154,8 @@ ipv6: if (poff >= 0) { __be32 *ports, _ports; - nhoff += poff; - ports = skb_header_pointer(skb, nhoff, sizeof(_ports), &_ports); + ports = skb_header_pointer(skb, nhoff + poff, + sizeof(_ports), &_ports); if (ports) flow->ports = *ports; } |