]> git.dujemihanovic.xyz Git - linux.git/commitdiff
radix tree test suite: fix allocation calculation in kmem_cache_alloc_bulk()
authorLiam R. Howlett <Liam.Howlett@oracle.com>
Fri, 29 Sep 2023 20:13:59 +0000 (16:13 -0400)
committerAndrew Morton <akpm@linux-foundation.org>
Wed, 18 Oct 2023 21:34:13 +0000 (14:34 -0700)
The bulk allocation is iterating through an array and storing enough
memory for the entire bulk allocation instead of a single array entry.
Only allocate an array element of the size set in the kmem_cache.

Link: https://lkml.kernel.org/r/20230929201359.2857583-1-Liam.Howlett@oracle.com
Fixes: cc86e0c2f306 ("radix tree test suite: add support for slab bulk APIs")
Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Reported-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
tools/testing/radix-tree/linux.c

index d587a558997f8c3ac3da162dbd81b7bb186ef353..61fe2601cb3a775c23cc66d2d88de5fe68d62a95 100644 (file)
@@ -165,9 +165,9 @@ int kmem_cache_alloc_bulk(struct kmem_cache *cachep, gfp_t gfp, size_t size,
                for (i = 0; i < size; i++) {
                        if (cachep->align) {
                                posix_memalign(&p[i], cachep->align,
-                                              cachep->size * size);
+                                              cachep->size);
                        } else {
-                               p[i] = malloc(cachep->size * size);
+                               p[i] = malloc(cachep->size);
                        }
                        if (cachep->ctor)
                                cachep->ctor(p[i]);