[ovs-dev] [PATCH v1] ofproto-dpif-trace: Fix for the segmentation fault in ofproto_trace().

Ashish Varma ashishvarma.ovs at gmail.com
Mon Feb 4 23:34:34 UTC 2019


Added the check for NULL in "next_ct_states" argument passed to the
"ofproto_trace()" function. Under normal scenario, this is non-NULL. A NULL
"next_ct_states" argument is passed from the "upcall_xlate()" function on
encountering XLATE_RECURSION_TOO_DEEP or XLATE_TOO_MANY_RESUBMITS error.

VMware-BZ: #2282287
Signed-off-by: Ashish Varma <ashishvarma.ovs at gmail.com>
---
 ofproto/ofproto-dpif-trace.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ofproto/ofproto-dpif-trace.c b/ofproto/ofproto-dpif-trace.c
index eca61ce..4a981e1 100644
--- a/ofproto/ofproto-dpif-trace.c
+++ b/ofproto/ofproto-dpif-trace.c
@@ -740,7 +740,7 @@ ofproto_trace(struct ofproto_dpif *ofproto, const struct flow *flow,
         ds_put_format(output, "\nrecirc(%#"PRIx32")",
                       recirc_node->recirc_id);
 
-        if (recirc_node->type == OFT_RECIRC_CONNTRACK) {
+        if (next_ct_states && recirc_node->type == OFT_RECIRC_CONNTRACK) {
             uint32_t ct_state;
             if (ovs_list_is_empty(next_ct_states)) {
                 ct_state = CS_TRACKED | CS_NEW;
-- 
2.7.4



More information about the dev mailing list