vport: Make dp_port->vport always valid.
authorJesse Gross <jesse@nicira.com>
Thu, 29 Jul 2010 22:59:31 +0000 (15:59 -0700)
committerJesse Gross <jesse@nicira.com>
Fri, 30 Jul 2010 20:42:26 +0000 (13:42 -0700)
commitcc98976af50fec5643a372aa9c7a4c4e565e939e
treea7a28fa93d80d7ef9b01af4898a878f0648f91af
parentb4a7d61582ef3a09a666106a926c8912201dfe72
vport: Make dp_port->vport always valid.

When we detached a vport we would assign NULL to dp_port->vport
before calling synchronize_rcu().  However, since vports have a
longer lifetime than dp_ports there were no checks before
dereferencing dp_port->vport.  This changes the behavior to
match the assumption by not assigning NULL during detach.  This
avoids a potential NULL pointer dereference in do_output() among
other places.
datapath/datapath.c
datapath/vport.c