greybus: connection: fix potential null-deref on create
authorJohan Hovold <johan@hovoldconsulting.com>
Wed, 25 Nov 2015 14:59:12 +0000 (15:59 +0100)
committerGreg Kroah-Hartman <gregkh@google.com>
Wed, 25 Nov 2015 23:34:19 +0000 (15:34 -0800)
Make sure that the interface lookup helper can handle static,
bundle-less connections without oopsing when creating further
connections.

Note that the initial svc-connection has always been bundle-less, but
did not trigger an oops as a bundle was created for it before further
connections were created.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/connection.c

index d87a346d1ce327d925299e9a2dc62b917dec681f..a7b803799fa59629db8f101e98b951ccb017662d 100644 (file)
@@ -20,10 +20,12 @@ gb_connection_intf_find(struct gb_interface *intf, u16 cport_id)
        struct gb_host_device *hd = intf->hd;
        struct gb_connection *connection;
 
-       list_for_each_entry(connection, &hd->connections, hd_links)
-               if (connection->bundle->intf == intf &&
+       list_for_each_entry(connection, &hd->connections, hd_links) {
+               if (connection->intf == intf &&
                                connection->intf_cport_id == cport_id)
                        return connection;
+       }
+
        return NULL;
 }