]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
misc: ti-st: Fix memory leak in the error path of probe()
authorAnton Vasilyev <vasilyev@ispras.ru>
Fri, 27 Jul 2018 15:45:36 +0000 (18:45 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Sep 2018 20:43:39 +0000 (22:43 +0200)
[ Upstream commit 81ae962d7f180c0092859440c82996cccb254976 ]

Free resources instead of direct return of the error code if kim_probe
fails.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Anton Vasilyev <vasilyev@ispras.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/ti-st/st_kim.c

index b77aacafc3fcd96bd52af1bb55a60123b22bdcf6..dda3ed72d05bc6e1284e8e860c6ac03657025bdb 100644 (file)
@@ -756,14 +756,14 @@ static int kim_probe(struct platform_device *pdev)
        err = gpio_request(kim_gdata->nshutdown, "kim");
        if (unlikely(err)) {
                pr_err(" gpio %d request failed ", kim_gdata->nshutdown);
-               return err;
+               goto err_sysfs_group;
        }
 
        /* Configure nShutdown GPIO as output=0 */
        err = gpio_direction_output(kim_gdata->nshutdown, 0);
        if (unlikely(err)) {
                pr_err(" unable to configure gpio %d", kim_gdata->nshutdown);
-               return err;
+               goto err_sysfs_group;
        }
        /* get reference of pdev for request_firmware
         */