* [PATCH] PM: hibernate: Fix memory leak in snapshot_write_next() error path
@ 2026-07-11 14:52 Malaya Kumar Rout
2026-07-13 13:26 ` Brian Geffon
0 siblings, 1 reply; 2+ messages in thread
From: Malaya Kumar Rout @ 2026-07-11 14:52 UTC (permalink / raw)
To: bgeffon, rafael.j.wysocki, linux-pm
Cc: mrout, skhan, me, Malaya Kumar Rout, Rafael J. Wysocki, Len Brown,
Pavel Machek, linux-kernel
When memory_bm_create() succeeds for copy_bm but fails for zero_bm,
the function returns without freeing the resources allocated for
copy_bm. This results in a memory leak that includes radix tree nodes,
zone structures, and page lists.
Fix this by calling memory_bm_free() to release copy_bm's resources
before returning the error code when zero_bm allocation fails.
Fixes: 005e8dddd497 ("PM: hibernate: don't store zero pages in the image file")
Signed-off-by: Malaya Kumar Rout <malayarout91@gmail.com>
---
kernel/power/snapshot.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/kernel/power/snapshot.c b/kernel/power/snapshot.c
index d933b5b2c05d..4a73927cc55b 100644
--- a/kernel/power/snapshot.c
+++ b/kernel/power/snapshot.c
@@ -2797,9 +2797,10 @@ int snapshot_write_next(struct snapshot_handle *handle)
return error;
error = memory_bm_create(&zero_bm, GFP_ATOMIC, PG_ANY);
- if (error)
+ if (error) {
+ memory_bm_free(©_bm, PG_UNSAFE_CLEAR);
return error;
-
+ }
nr_zero_pages = 0;
hibernate_restore_protection_begin();
--
2.54.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] PM: hibernate: Fix memory leak in snapshot_write_next() error path
2026-07-11 14:52 [PATCH] PM: hibernate: Fix memory leak in snapshot_write_next() error path Malaya Kumar Rout
@ 2026-07-13 13:26 ` Brian Geffon
0 siblings, 0 replies; 2+ messages in thread
From: Brian Geffon @ 2026-07-13 13:26 UTC (permalink / raw)
To: Malaya Kumar Rout
Cc: rafael.j.wysocki, linux-pm, mrout, skhan, me, Rafael J. Wysocki,
Len Brown, Pavel Machek, linux-kernel
On Sat, Jul 11, 2026 at 10:53 AM Malaya Kumar Rout
<malayarout91@gmail.com> wrote:
>
> When memory_bm_create() succeeds for copy_bm but fails for zero_bm,
> the function returns without freeing the resources allocated for
> copy_bm. This results in a memory leak that includes radix tree nodes,
> zone structures, and page lists.
>
> Fix this by calling memory_bm_free() to release copy_bm's resources
> before returning the error code when zero_bm allocation fails.
>
> Fixes: 005e8dddd497 ("PM: hibernate: don't store zero pages in the image file")
> Signed-off-by: Malaya Kumar Rout <malayarout91@gmail.com>
Acked-by: Brian Geffon <bgeffon@google.com>
>
> ---
> kernel/power/snapshot.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/power/snapshot.c b/kernel/power/snapshot.c
> index d933b5b2c05d..4a73927cc55b 100644
> --- a/kernel/power/snapshot.c
> +++ b/kernel/power/snapshot.c
> @@ -2797,9 +2797,10 @@ int snapshot_write_next(struct snapshot_handle *handle)
> return error;
>
> error = memory_bm_create(&zero_bm, GFP_ATOMIC, PG_ANY);
> - if (error)
> + if (error) {
> + memory_bm_free(©_bm, PG_UNSAFE_CLEAR);
> return error;
> -
> + }
> nr_zero_pages = 0;
>
> hibernate_restore_protection_begin();
> --
> 2.54.0
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-07-13 13:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-11 14:52 [PATCH] PM: hibernate: Fix memory leak in snapshot_write_next() error path Malaya Kumar Rout
2026-07-13 13:26 ` Brian Geffon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox