Re: [PATCH] flow_dissector: Pre-initialize ip_proto in __skb_flow_dissect()

2015-06-28 Thread David Miller
From: Geert Uytterhoeven 
Date: Thu, 25 Jun 2015 15:10:32 +0200

> net/core/flow_dissector.c: In function ‘__skb_flow_dissect’:
> net/core/flow_dissector.c:132: warning: ‘ip_proto’ may be used uninitialized 
> in this function
> 
> Signed-off-by: Geert Uytterhoeven 

Applied, thanks.


Re: [PATCH] flow_dissector: Pre-initialize ip_proto in __skb_flow_dissect()

2015-06-25 Thread Tom Herbert
On Thu, Jun 25, 2015 at 6:10 AM, Geert Uytterhoeven
 wrote:
> net/core/flow_dissector.c: In function ‘__skb_flow_dissect’:
> net/core/flow_dissector.c:132: warning: ‘ip_proto’ may be used uninitialized 
> in this function
>
> Signed-off-by: Geert Uytterhoeven 
> ---
> This may be a false positive, but the state machine in
> __skb_flow_dissect() is a bit hard to follow.
> As I believe it is controlled by a packet received from the network, the
> only safe thing to do is to pre-initialize ip_proto.
> ---
>  net/core/flow_dissector.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c
> index 476e5dda59e19822..2a834c6179b9973e 100644
> --- a/net/core/flow_dissector.c
> +++ b/net/core/flow_dissector.c
> @@ -129,7 +129,7 @@ bool __skb_flow_dissect(const struct sk_buff *skb,
> struct flow_dissector_key_ports *key_ports;
> struct flow_dissector_key_tags *key_tags;
> struct flow_dissector_key_keyid *key_keyid;
> -   u8 ip_proto;
> +   u8 ip_proto = 0;
>
> if (!data) {
> data = skb->data;
> --
> 1.9.1
>

Acked-by: Tom Herbert 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] flow_dissector: Pre-initialize ip_proto in __skb_flow_dissect()

2015-06-25 Thread Jiri Pirko
Thu, Jun 25, 2015 at 03:33:31PM CEST, da...@davemloft.net wrote:
>From: Geert Uytterhoeven 
>Date: Thu, 25 Jun 2015 15:10:32 +0200
>
>> net/core/flow_dissector.c: In function ‘__skb_flow_dissect’:
>> net/core/flow_dissector.c:132: warning: ‘ip_proto’ may be used uninitialized 
>> in this function
>> 
>> Signed-off-by: Geert Uytterhoeven 
>> ---
>> This may be a false positive, but the state machine in
>> __skb_flow_dissect() is a bit hard to follow.
>> As I believe it is controlled by a packet received from the network, the
>> only safe thing to do is to pre-initialize ip_proto.
>
>Actually I think this is a real bug, because for the ETH_P_MPLS_* cases I 
>cannot
>see what will always set ip_proto before it gets used as an input.

I think that MPLS cases are ok. In this case, return is always hit.
I believe this is false positive.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] flow_dissector: Pre-initialize ip_proto in __skb_flow_dissect()

2015-06-25 Thread David Miller
From: Geert Uytterhoeven 
Date: Thu, 25 Jun 2015 15:10:32 +0200

> net/core/flow_dissector.c: In function ‘__skb_flow_dissect’:
> net/core/flow_dissector.c:132: warning: ‘ip_proto’ may be used uninitialized 
> in this function
> 
> Signed-off-by: Geert Uytterhoeven 
> ---
> This may be a false positive, but the state machine in
> __skb_flow_dissect() is a bit hard to follow.
> As I believe it is controlled by a packet received from the network, the
> only safe thing to do is to pre-initialize ip_proto.

Actually I think this is a real bug, because for the ETH_P_MPLS_* cases I cannot
see what will always set ip_proto before it gets used as an input.