Thanks, applied to master~ On Tue, Nov 11, 2014 at 3:29 PM, Pravin Shelar <[email protected]> wrote:
> On Fri, Nov 7, 2014 at 5:51 PM, Alex Wang <[email protected]> wrote: > > There is a portion of the 'struct dp_netdev_port' initialization > > that is placed after the reload of pmd threads. This means in > > theory, there could be a race where pmd threads access half- > > initialized struct. Although such race has not been seen, it > > makes sense to fully initialize the struct before use. > > > > Found by code inspection. > > > > Signed-off-by: Alex Wang <[email protected]> > > Looks good. > Acked-by: Pravin B Shelar <[email protected]> > > > --- > > lib/dpif-netdev.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c > > index ad2febc..9d1319f 100644 > > --- a/lib/dpif-netdev.c > > +++ b/lib/dpif-netdev.c > > @@ -871,13 +871,13 @@ do_add_port(struct dp_netdev *dp, const char > *devname, const char *type, > > } > > port->sf = sf; > > > > + ovs_refcount_init(&port->ref_cnt); > > + cmap_insert(&dp->ports, &port->node, hash_port_no(port_no)); > > + > > if (netdev_is_pmd(netdev)) { > > dp_netdev_set_pmds_on_numa(dp, netdev_get_numa_id(netdev)); > > dp_netdev_reload_pmds(dp); > > } > > - ovs_refcount_init(&port->ref_cnt); > > - > > - cmap_insert(&dp->ports, &port->node, hash_port_no(port_no)); > > seq_change(dp->port_seq); > > > > return 0; > > -- > > 1.7.9.5 > > > > _______________________________________________ > > dev mailing list > > [email protected] > > http://openvswitch.org/mailman/listinfo/dev > _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
