usb: typec: Don't try to register component master without components
authorHeikki Krogerus <heikki.krogerus@linux.intel.com>
Mon, 24 Jan 2022 09:02:28 +0000 (12:02 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 25 Jan 2022 17:37:35 +0000 (18:37 +0100)
This fixes NULL pointer dereference that happens if
component master is registered with empty component match
list.

Fixes: 730b49aac426 ("usb: typec: port-mapper: Convert to the component framework")
Reported-by: Mikhail Gavrilov <mikhail.v.gavrilov@gmail.com>
Tested-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20220124090228.41396-3-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/port-mapper.c

index b6e0c6a..a7d5078 100644 (file)
@@ -60,6 +60,8 @@ int typec_link_ports(struct typec_port *con)
                return 0;
 
        bus_for_each_dev(&acpi_bus_type, NULL, &arg, typec_port_match);
+       if (!arg.match)
+               return 0;
 
        /*
         * REVISIT: Now each connector can have only a single component master.