]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
thunderbolt: Fix memory leak if ida_simple_get() fails in enumerate_services()
authorMika Westerberg <mika.westerberg@linux.intel.com>
Wed, 7 Oct 2020 14:06:17 +0000 (17:06 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Nov 2020 18:20:29 +0000 (19:20 +0100)
commit a663e0df4a374b8537562a44d1cecafb472cd65b upstream.

The svc->key field is not released as it should be if ida_simple_get()
fails so fix that.

Fixes: 9aabb68568b4 ("thunderbolt: Fix to check return value of ida_simple_get")
Cc: stable@vger.kernel.org
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/thunderbolt/xdomain.c

index 4e17a7c7bf0ae58857493fed470107dda00620b6..9e9bf8771345831093e042b5931b65dc5f9a6586 100644 (file)
@@ -830,6 +830,7 @@ static void enumerate_services(struct tb_xdomain *xd)
 
                id = ida_simple_get(&xd->service_ids, 0, 0, GFP_KERNEL);
                if (id < 0) {
+                       kfree(svc->key);
                        kfree(svc);
                        break;
                }