[ovs-dev] [PATCH] datapath: Fully initialize datapath before local port.

Ben Pfaff blp at nicira.com
Thu Sep 15 23:57:30 UTC 2011


On Thu, Sep 15, 2011 at 04:52:39PM -0700, Jesse Gross wrote:
> It's possible to start receiving packets on a datapath as soon as
> the internal device is created.  It's therefore important that the
> datapath be fully initialized before this, which it currently isn't.
> In particularly, the fact that dp->stats_percpu is not yet set is
> potentially fatal.  In addition, if allocation of the Netlink response
> failed it would leak the percpu memory.  This fixes both problems.
> 
> Found by code inspection, in practice the datapath is probably always
> done initializing before someone can send a packet on it.
> 
> Signed-off-by: Jesse Gross <jesse at nicira.com>

Don't we now dereference an uninitialized pointer?

    struct vport *vport;
...
    dp->dp_ifindex = vport_get_ifindex(vport);
...
    vport = new_vport(&parms);




More information about the dev mailing list