On Fri, May 26, 2023 at 11:05 AM David Marchand <[email protected]> wrote: > > The offload thread calling ufid_to_rte_flow_disassociate() may be the > last one holding a reference on the netdev and physdev. > So displaying informations about them might trigger a crash when > removing a physical port. > > Fixes: faf71e492263 ("netdev-dpdk: Print port name in offload API messages.") > Signed-off-by: David Marchand <[email protected]>
LGTM. Acked-by: Mike Pattrick <[email protected]> > --- > lib/netdev-offload-dpdk.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c > index 7c91f8a799..14bc877719 100644 > --- a/lib/netdev-offload-dpdk.c > +++ b/lib/netdev-offload-dpdk.c > @@ -2345,13 +2345,13 @@ netdev_offload_dpdk_flow_destroy(struct > ufid_to_rte_flow_data *rte_flow_data) > ovsrcu_get(void *, &netdev->hw_info.offload_data); > data->rte_flow_counters[tid]--; > > - ufid_to_rte_flow_disassociate(rte_flow_data); > VLOG_DBG_RL(&rl, "%s/%s: rte_flow 0x%"PRIxPTR > " flow destroy %d ufid " UUID_FMT, > netdev_get_name(netdev), netdev_get_name(physdev), > (intptr_t) rte_flow, > netdev_dpdk_get_port_id(physdev), > UUID_ARGS((struct uuid *) ufid)); > + ufid_to_rte_flow_disassociate(rte_flow_data); > } else { > VLOG_ERR("Failed flow: %s/%s: flow destroy %d ufid " UUID_FMT, > netdev_get_name(netdev), netdev_get_name(physdev), > -- > 2.40.1 > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
