kunit: drop test pointer in string_stream_fragment
authorDaniel Latypov <dlatypov@google.com>
Fri, 22 Jul 2022 17:15:31 +0000 (17:15 +0000)
committerShuah Khan <skhan@linuxfoundation.org>
Fri, 7 Oct 2022 16:15:33 +0000 (10:15 -0600)
We already store the `struct kunit *test` in the string_stream object
itself, so we need don't need to store a copy of this pointer in every
fragment in the stream.

Drop it, getting string_stream_fragment down the bare minimum: a
list_head and the `char *` with the actual fragment.

Signed-off-by: Daniel Latypov <dlatypov@google.com>
Reviewed-by: David Gow <davidgow@google.com>
Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
lib/kunit/string-stream.c
lib/kunit/string-stream.h

index a2496abef152c05238c37bac3f5a7d78ef6406fb..f5ae79c374003ebcb58cef9a3fc2c2b62320717b 100644 (file)
@@ -22,7 +22,6 @@ static struct string_stream_fragment *alloc_string_stream_fragment(
        if (!frag)
                return ERR_PTR(-ENOMEM);
 
-       frag->test = test;
        frag->fragment = kunit_kmalloc(test, len, gfp);
        if (!frag->fragment)
                return ERR_PTR(-ENOMEM);
@@ -30,11 +29,12 @@ static struct string_stream_fragment *alloc_string_stream_fragment(
        return frag;
 }
 
-static void string_stream_fragment_destroy(struct string_stream_fragment *frag)
+static void string_stream_fragment_destroy(struct kunit *test,
+                                          struct string_stream_fragment *frag)
 {
        list_del(&frag->node);
-       kunit_kfree(frag->test, frag->fragment);
-       kunit_kfree(frag->test, frag);
+       kunit_kfree(test, frag->fragment);
+       kunit_kfree(test, frag);
 }
 
 int string_stream_vadd(struct string_stream *stream,
@@ -89,7 +89,7 @@ static void string_stream_clear(struct string_stream *stream)
                                 frag_container_safe,
                                 &stream->fragments,
                                 node) {
-               string_stream_fragment_destroy(frag_container);
+               string_stream_fragment_destroy(stream->test, frag_container);
        }
        stream->length = 0;
        spin_unlock(&stream->lock);
index 494dee0f24bdebd1712f003c8e6343d35113c19a..b669f9a75a9489237ecd463b9ec356c0eda82d26 100644 (file)
@@ -14,7 +14,6 @@
 #include <linux/stdarg.h>
 
 struct string_stream_fragment {
-       struct kunit *test;
        struct list_head node;
        char *fragment;
 };