lib/test_meminit: optimize do_kmem_cache_rcu_persistent() test
authorXiaoke Wang <xkernel.wang@foxmail.com>
Fri, 29 Apr 2022 21:38:00 +0000 (14:38 -0700)
committerakpm <akpm@linux-foundation.org>
Fri, 29 Apr 2022 21:38:00 +0000 (14:38 -0700)
commitd4557fae77079f4e53f06712395c7a28e3734eb7
tree71aa8977c3720914a67869e23723b06291891506
parent11fb48961e5250768767612da4a303fa2f5ea504
lib/test_meminit: optimize do_kmem_cache_rcu_persistent() test

To make the test more robust, there are the following changes:
1. add a check for the return value of kmem_cache_alloc().
2. properly release the object `buf` on several error paths.
3. release the objects of `used_objects` if we never hit `saved_ptr`.
4. destroy the created cache by default.

Link: https://lkml.kernel.org/r/tencent_7CB95F1C3914BCE1CA4A61FF7C20E7CCB108@qq.com
Signed-off-by: Xiaoke Wang <xkernel.wang@foxmail.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Alexander Potapenko <glider@google.com>
Cc: Andrey Konovalov <andreyknvl@gmail.com>
Cc: Marco Elver <elver@google.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Xiaoke Wang <xkernel.wang@foxmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
lib/test_meminit.c