From 0daf17b9e4f74981c7546ad4b4224b8bef85e00e Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Wed, 25 Nov 2015 15:59:12 +0100 Subject: greybus: connection: fix potential null-deref on create 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 Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/connection.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'drivers/staging/greybus/connection.c') diff --git a/drivers/staging/greybus/connection.c b/drivers/staging/greybus/connection.c index d87a346d1ce3..a7b803799fa5 100644 --- a/drivers/staging/greybus/connection.c +++ b/drivers/staging/greybus/connection.c @@ -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; } -- cgit v1.2.3