diff options
| author | Abdun Nihaal <nihaal@cse.iitm.ac.in> | 2026-05-19 08:50:12 +0300 |
|---|---|---|
| committer | Alison Schofield <alison.schofield@intel.com> | 2026-06-02 02:43:53 +0300 |
| commit | 13fe4cd9ddd0aacb7777812328be525a11ea3fea (patch) | |
| tree | 2d57bd95a583cbcd6970bca3c0ebc0d59443c5a6 | |
| parent | 8d4b989d9c9afe5f185aa5853b666fc4617afe9e (diff) | |
| download | linux-13fe4cd9ddd0aacb7777812328be525a11ea3fea.tar.xz | |
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: 5212e11fde4d ("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>
| -rw-r--r-- | drivers/nvdimm/btt.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/nvdimm/btt.c b/drivers/nvdimm/btt.c index fdcb080a4314..e0b6a85a8124 100644 --- a/drivers/nvdimm/btt.c +++ b/drivers/nvdimm/btt.c @@ -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; |
