From: Ethan Jackson Date: Wed, 29 May 2013 23:19:20 +0000 (-0700) Subject: ofproto-dpif: Fix facet_lookup_valid(). X-Git-Tag: v2.12.3~10935 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=0305ce1f71fa6e9ecfee79f4ec41876f0c0104e2;p=mirror_ovs.git ofproto-dpif: Fix facet_lookup_valid(). facet_lookup_valid() attempted to re-revalidate its facet after it had been removed. Added very recently in commit 5bf64ad (ofproto-dpif: Avoid redundant facet_find() in facet_lookup_valid()). Found by inspection (by Justin). Reported-by: Justin Pettit Signed-off-by: Ethan Jackson --- diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c index 633dc5ab3..2fc00a7bc 100644 --- a/ofproto/ofproto-dpif.c +++ b/ofproto/ofproto-dpif.c @@ -4882,10 +4882,7 @@ facet_lookup_valid(struct ofproto_dpif *ofproto, const struct flow *flow, || tag_set_intersects(&ofproto->backer->revalidate_set, facet->xout.tags)) && !facet_revalidate(facet)) { - facet_revalidate(facet); - - /* facet_revalidate() may have destroyed 'facet'. */ - facet = facet_find(ofproto, flow, hash); + return NULL; } return facet;