Re: [PATCH] net: flow_dissector: fix thoff for IPPROTO_AH

Daniel Borkmann
2013-09-26T16:03:45Z

On 09/26/2013 05:44 PM, Eric Dumazet wrote:
> From: Eric Dumazet <edumazet@google.com>
>
> 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: Daniel Borkmann <dborkman@redhat.com>

Thanks !

> ---
> net/core/flow_dissector.c | 4 ++--
> 1 file 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;
> }
>
>