diff options
author | Matthew Wilcox (Oracle) <willy@infradead.org> | 2020-04-02 14:26:13 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-10-29 09:57:47 +0100 |
commit | 2577720d35e26b92f30eed4b17565f24b3c661d8 (patch) | |
tree | 32d9da998c54c9272a4ba869ca48c8ae709ff147 /lib | |
parent | 3789f5cfd60035d924433a14fb25f2caaafbdd1d (diff) | |
download | linux-stable-2577720d35e26b92f30eed4b17565f24b3c661d8.tar.gz linux-stable-2577720d35e26b92f30eed4b17565f24b3c661d8.tar.bz2 linux-stable-2577720d35e26b92f30eed4b17565f24b3c661d8.zip |
ida: Free allocated bitmap in error path
[ Upstream commit a219b856a2b993da234108307be772448f22b0ce ]
If a bitmap needs to be allocated, and then by the time the thread
is scheduled to be run again all the indices which would satisfy the
allocation have been allocated then we would leak the allocation. Almost
impossible to hit in practice, but a trivial fix. Found by Coverity.
Fixes: f32f004cddf8 ("ida: Convert to XArray")
Reported-by: coverity-bot <keescook+coverity-bot@chromium.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/idr.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/idr.c b/lib/idr.c index c2cf2c52bbde..4d2eef0259d2 100644 --- a/lib/idr.c +++ b/lib/idr.c @@ -470,6 +470,7 @@ alloc: goto retry; nospc: xas_unlock_irqrestore(&xas, flags); + kfree(alloc); return -ENOSPC; } EXPORT_SYMBOL(ida_alloc_range); |