On Fri, Apr 18, 2014 at 2:51 AM, Andy Zhou <az...@nicira.com> wrote:
> diff --git a/datapath/actions.c b/datapath/actions.c
> index 87a8a40..fdcd576 100644
> --- a/datapath/actions.c
> +++ b/datapath/actions.c
> +static int execute_recirc(struct datapath *dp, struct sk_buff *skb,
> +                                const struct nlattr *a)
> +{
> +       struct sw_flow_key recirc_key;
> +       const struct vport *p = OVS_CB(skb)->input_vport;
> +       uint32_t hash = OVS_CB(skb)->pkt_key->ovs_flow_hash;
> +       u16 port_no = p ? p->port_no : -1;

I think there's still a potential problem with a NULL input_port here:
when we call ovs_dp_process_packet_with_key(), it calls
ovs_vport_find_upcall_portid() which assumes that the port is valid.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to