From 016143f26f3d563e41e02c7a3f9a422d0e8caa9d Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Wed, 4 Jun 2014 15:38:34 -0700 Subject: [PATCH] ofproto-dpif: Fix uninitialized data in ofproto_dpif_execute_actions(). The dp_hash and recirc_id fields weren't being initialized. Found by valgrind. Signed-off-by: Ben Pfaff Acked-by: Andy Zhou --- ofproto/ofproto-dpif.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c index db01196eb..d6fdd477a 100644 --- a/ofproto/ofproto-dpif.c +++ b/ofproto/ofproto-dpif.c @@ -3123,18 +3123,18 @@ ofproto_dpif_execute_actions(struct ofproto_dpif *ofproto, xin.resubmit_stats = &stats; xlate_actions(&xin, &xout); + execute.actions = ofpbuf_data(&xout.odp_actions); + execute.actions_len = ofpbuf_size(&xout.odp_actions); + execute.packet = packet; + execute.md = pkt_metadata_from_flow(flow); + execute.needs_help = (xout.slow & SLOW_ACTION) != 0; + + /* Fix up in_port. */ in_port = flow->in_port.ofp_port; if (in_port == OFPP_NONE) { in_port = OFPP_LOCAL; } - execute.actions = ofpbuf_data(&xout.odp_actions); - execute.actions_len = ofpbuf_size(&xout.odp_actions); - execute.packet = packet; - execute.md.tunnel = flow->tunnel; - execute.md.skb_priority = flow->skb_priority; - execute.md.pkt_mark = flow->pkt_mark; execute.md.in_port.odp_port = ofp_port_to_odp_port(ofproto, in_port); - execute.needs_help = (xout.slow & SLOW_ACTION) != 0; error = dpif_execute(ofproto->backer->dpif, &execute); -- 2.20.1