2021-05-28 20:15:01

by Jarmo Tiitto

[permalink] [raw]
Subject: [PATCH 5/6] pgo: modules Fixup memory leak.

Signed-off-by: Jarmo Tiitto <[email protected]>
---
kernel/pgo/fs_mod.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/kernel/pgo/fs_mod.c b/kernel/pgo/fs_mod.c
index 0808d44227f1..2d1ff99e7982 100644
--- a/kernel/pgo/fs_mod.c
+++ b/kernel/pgo/fs_mod.c
@@ -261,6 +261,8 @@ static int prf_module_open(struct inode *inode, struct file *file)

if (!pinfo->buffer) {
err = -ENOMEM;
+ kfree(pinfo);
+ module_put(mod);
goto out;
}
}
@@ -373,7 +375,7 @@ static int pgo_module_notifier(struct notifier_block *nb, unsigned long event,
if (strcmp(data->mod->name, mod->name) == 0) {

mutex_lock(&prf_mod_lock);
- /* remofe from profiled modules */
+ /* remove from profiled modules */
list_del_rcu(&data->link);
/* mark it stale */
WRITE_ONCE(data->mod, NULL);
--
2.31.1


2021-05-31 18:23:10

by Nathan Chancellor

[permalink] [raw]
Subject: Re: [PATCH 5/6] pgo: modules Fixup memory leak.

On Fri, May 28, 2021 at 11:11:07PM +0300, Jarmo Tiitto wrote:
> Signed-off-by: Jarmo Tiitto <[email protected]>

Similar comment to 6/6, squash this into 3/6.

> ---
> kernel/pgo/fs_mod.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/pgo/fs_mod.c b/kernel/pgo/fs_mod.c
> index 0808d44227f1..2d1ff99e7982 100644
> --- a/kernel/pgo/fs_mod.c
> +++ b/kernel/pgo/fs_mod.c
> @@ -261,6 +261,8 @@ static int prf_module_open(struct inode *inode, struct file *file)
>
> if (!pinfo->buffer) {
> err = -ENOMEM;
> + kfree(pinfo);
> + module_put(mod);
> goto out;
> }
> }
> @@ -373,7 +375,7 @@ static int pgo_module_notifier(struct notifier_block *nb, unsigned long event,
> if (strcmp(data->mod->name, mod->name) == 0) {
>
> mutex_lock(&prf_mod_lock);
> - /* remofe from profiled modules */
> + /* remove from profiled modules */
> list_del_rcu(&data->link);
> /* mark it stale */
> WRITE_ONCE(data->mod, NULL);
> --
> 2.31.1