| From foo@baz Mon Sep 17 12:33:31 CEST 2018 |
| From: Anton Vasilyev <vasilyev@ispras.ru> |
| Date: Fri, 27 Jul 2018 18:45:36 +0300 |
| Subject: misc: ti-st: Fix memory leak in the error path of probe() |
| |
| From: Anton Vasilyev <vasilyev@ispras.ru> |
| |
| [ 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 | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/misc/ti-st/st_kim.c |
| +++ b/drivers/misc/ti-st/st_kim.c |
| @@ -756,14 +756,14 @@ static int kim_probe(struct platform_dev |
| 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 |
| */ |