datapath: Don't dereference potentially NULL vport in patch ports.
authorJesse Gross <jesse@nicira.com>
Tue, 31 Jan 2012 22:22:25 +0000 (14:22 -0800)
committerJesse Gross <jesse@nicira.com>
Wed, 1 Feb 2012 00:08:30 +0000 (16:08 -0800)
When changing patch ports we need to update any peers pointing to us.
When destroying the port, this means pointing them to a NULL port.
However, the new namespaces code attempted to dereference this port
in order to get the namespace.  The net is already passed in, so we
can just use that instead.

Bug #9477

Reported-by: Michael Hu <mhu@nicira.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
datapath/vport-patch.c

index 0056792..ea46a8d 100644 (file)
@@ -233,7 +233,7 @@ error:
 
 static void update_peers(struct net *net, const char *name, struct vport *vport)
 {
-       struct hlist_head *bucket = hash_bucket(ovs_dp_get_net(vport->dp), name);
+       struct hlist_head *bucket = hash_bucket(net, name);
        struct patch_vport *peer_vport;
        struct hlist_node *node;