mirror of
https://github.com/torvalds/linux.git
synced 2026-09-26 01:52:03 +02:00
nvdimm/btt: Free arena sub-allocations on discover_arenas() error path
Memory allocated by btt_freelist_init(), btt_rtt_init(), and
btt_maplocks_init() is not freed on some discover_arenas() error
paths. This leaks memory when arena discovery fails.
Add the missing kfree() calls to release the allocations before
returning an error.
[ as: commit message and log edits ]
Fixes: 5212e11fde ("nd_btt: atomic sector updates")
Cc: stable@vger.kernel.org
Signed-off-by: Abdun Nihaal <nihaal@cse.iitm.ac.in>
Reviewed-by: Alison Schofield <alison.schofield@intel.com>
Link: https://patch.msgid.link/20260519-nvdimmleaks-v1-1-592300fb7a43@cse.iitm.ac.in
Signed-off-by: Alison Schofield <alison.schofield@intel.com>
This commit is contained in:
parent
8d4b989d9c
commit
13fe4cd9dd
|
|
@ -919,6 +919,9 @@ static int discover_arenas(struct btt *btt)
|
|||
return ret;
|
||||
|
||||
out:
|
||||
kfree(arena->freelist);
|
||||
kfree(arena->rtt);
|
||||
kfree(arena->map_locks);
|
||||
kfree(arena);
|
||||
free_arenas(btt);
|
||||
return ret;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user