On Fri, Oct 17, 2014 at 04:07:25PM -0700, Madhu Challa wrote:
> dpif_flow_get initializes the flow_get part of the union, down the stack
> log_flow_message checks for actions || actions_len that could contain
> garbage leading to the crash.
> 
> saw the crash once when running stress tests. can be easily recreated
> by running ovs-dpctl del-flows in a loop when traffic is going on
> 
> Signed-off-by: Madhu Challa <cha...@noironetworks.com>

The actions aren't in the dpif_op so I don't see how this would help.
Can you explain?

The actions are, instead, in the caller-provided dpif_flow.  I guess
that the error is here in dpif_operate() where the code clears the
flow only after trying to log uninitialized garbage from it:
                    log_flow_get_message(dpif, get, error);

                    if (error) {
                        memset(get->flow, 0, sizeof *get->flow);
                    }
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to