You need to sign in or sign up before continuing.
提交 10c510cf 编写于 作者: B Bartosz Golaszewski 提交者: Yang Yingliang

gpio: mockup: fix resource leak in error path

commit 1b02d9e7 upstream.

If the module init function fails after creating the debugs directory,
it's never removed. Add proper cleanup calls to avoid this resource
leak.

Fixes: 9202ba23 ("gpio: mockup: implement event injecting over debugfs")
Cc: <stable@vger.kernel.org>
Signed-off-by: NBartosz Golaszewski <bgolaszewski@baylibre.com>
Reviewed-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 f0edb9a2
...@@ -367,6 +367,7 @@ static int __init gpio_mockup_init(void) ...@@ -367,6 +367,7 @@ static int __init gpio_mockup_init(void)
err = platform_driver_register(&gpio_mockup_driver); err = platform_driver_register(&gpio_mockup_driver);
if (err) { if (err) {
gpio_mockup_err("error registering platform driver\n"); gpio_mockup_err("error registering platform driver\n");
debugfs_remove_recursive(gpio_mockup_dbg_dir);
return err; return err;
} }
...@@ -386,6 +387,7 @@ static int __init gpio_mockup_init(void) ...@@ -386,6 +387,7 @@ static int __init gpio_mockup_init(void)
gpio_mockup_err("error registering device"); gpio_mockup_err("error registering device");
platform_driver_unregister(&gpio_mockup_driver); platform_driver_unregister(&gpio_mockup_driver);
gpio_mockup_unregister_pdevs(); gpio_mockup_unregister_pdevs();
debugfs_remove_recursive(gpio_mockup_dbg_dir);
return PTR_ERR(pdev); return PTR_ERR(pdev);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册