diff options
| author | Ingo Molnar <mingo@kernel.org> | 2021-03-29 15:56:48 +0200 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2021-03-29 15:56:48 +0200 |
| commit | feecb81732d8f271440d907beb082425e109f877 (patch) | |
| tree | af55ca33d43cf3b3c2b82e9860df7d01be061a0f /kernel/usermode_driver.c | |
| parent | bd9a5fc2edb0bdcb0756298daa31ddd6a02f0634 (diff) | |
| parent | a5e13c6df0e41702d2b2c77c8ad41677ebb065b3 (diff) | |
| download | cachepc-linux-feecb81732d8f271440d907beb082425e109f877.tar.gz cachepc-linux-feecb81732d8f271440d907beb082425e109f877.zip | |
Merge tag 'v5.12-rc5' into locking/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/usermode_driver.c')
| -rw-r--r-- | kernel/usermode_driver.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/kernel/usermode_driver.c b/kernel/usermode_driver.c index 0b35212ffc3d..bb7bb3b478ab 100644 --- a/kernel/usermode_driver.c +++ b/kernel/usermode_driver.c @@ -139,13 +139,22 @@ static void umd_cleanup(struct subprocess_info *info) struct umd_info *umd_info = info->data; /* cleanup if umh_setup() was successful but exec failed */ - if (info->retval) { - fput(umd_info->pipe_to_umh); - fput(umd_info->pipe_from_umh); - put_pid(umd_info->tgid); - umd_info->tgid = NULL; - } + if (info->retval) + umd_cleanup_helper(umd_info); +} + +/** + * umd_cleanup_helper - release the resources which were allocated in umd_setup + * @info: information about usermode driver + */ +void umd_cleanup_helper(struct umd_info *info) +{ + fput(info->pipe_to_umh); + fput(info->pipe_from_umh); + put_pid(info->tgid); + info->tgid = NULL; } +EXPORT_SYMBOL_GPL(umd_cleanup_helper); /** * fork_usermode_driver - fork a usermode driver |
