]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
lib/test_kasan.c: fix memory leak in kmalloc_oob_krealloc_more()
authorGustavo A. R. Silva <gustavo@embeddedor.com>
Fri, 31 Jan 2020 06:13:51 +0000 (22:13 -0800)
committerPaolo Pisati <paolo.pisati@canonical.com>
Mon, 17 Feb 2020 09:57:41 +0000 (10:57 +0100)
BugLink: https://bugs.launchpad.net/bugs/1863588
commit 3e21d9a501bf99aee2e5835d7f34d8c823f115b5 upstream.

In case memory resources for _ptr2_ were allocated, release them before
return.

Notice that in case _ptr1_ happens to be NULL, krealloc() behaves
exactly like kmalloc().

Addresses-Coverity-ID: 1490594 ("Resource leak")
Link: http://lkml.kernel.org/r/20200123160115.GA4202@embeddedor
Fixes: 3f15801cdc23 ("lib: add kasan test module")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
lib/test_kasan.c

index 49cc4d570a40b7336ec98ec6e9d4ea0ce032f7e5..bd3d9ef7d39e2ae2a091945287ebf83a1a5e349f 100644 (file)
@@ -157,6 +157,7 @@ static noinline void __init kmalloc_oob_krealloc_more(void)
        if (!ptr1 || !ptr2) {
                pr_err("Allocation failed\n");
                kfree(ptr1);
+               kfree(ptr2);
                return;
        }