]> git.karo-electronics.de Git - linux-beck.git/commitdiff
Drivers: hv: utils: Remove util transport handler from list if registration fails
authorAlex Ng <alexng@microsoft.com>
Fri, 26 Feb 2016 23:13:20 +0000 (15:13 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 2 Mar 2016 00:57:20 +0000 (16:57 -0800)
If util transport fails to initialize for any reason, the list of transport
handlers may become corrupted due to freeing the transport handler without
removing it from the list. Fix this by cleaning it up from the list.

Signed-off-by: Alex Ng <alexng@microsoft.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/hv/hv_utils_transport.c

index 4f42c0e20c20fd12f6de24d4490fb23952b7ed79..9a9983fa4531ad52a0f2918ffb51b42f9e8f2b89 100644 (file)
@@ -310,6 +310,9 @@ struct hvutil_transport *hvutil_transport_init(const char *name,
        return hvt;
 
 err_free_hvt:
+       spin_lock(&hvt_list_lock);
+       list_del(&hvt->list);
+       spin_unlock(&hvt_list_lock);
        kfree(hvt);
        return NULL;
 }