lkml.org 
[lkml]   [2019]   [Aug]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v12 03/18] kunit: test: add string_stream a std::stream like string builder
    On Mon, Aug 12, 2019 at 4:59 PM Stephen Boyd <sboyd@kernel.org> wrote:
    >
    > Quoting Brendan Higgins (2019-08-12 16:33:36)
    > > On Mon, Aug 12, 2019 at 03:55:19PM -0700, Stephen Boyd wrote:
    > > > Quoting Brendan Higgins (2019-08-12 11:24:06)
    > > > > +void string_stream_clear(struct string_stream *stream)
    > > > > +{
    > > > > + struct string_stream_fragment *frag_container, *frag_container_safe;
    > > > > +
    > > > > + spin_lock(&stream->lock);
    > > > > + list_for_each_entry_safe(frag_container,
    > > > > + frag_container_safe,
    > > > > + &stream->fragments,
    > > > > + node) {
    > > > > + list_del(&frag_container->node);
    > > >
    > > > Shouldn't we free the allocation here? Otherwise, if some test is going
    > > > to add, add, clear, add, it's going to leak until the test is over?
    > >
    > > So basically this means I should add a kunit_kfree and
    > > kunit_resource_destroy (respective equivalents to devm_kfree, and
    > > devres_destroy) and use kunit_kfree here?
    > >
    >
    > Yes, or drop the API entirely? Does anything need this functionality?

    Drop the kunit_resource API? I would strongly prefer not to.
    string_stream uses it; the expectation stuff uses it via string
    stream; some of the tests in this patchset allocate memory as part of
    the test setup that uses it. The intention is that we would provide a
    kunit_res_* version of many (hopefully eventually most) common
    resources required by tests and it would be used in the same way that
    the devm_* stuff is.

    Nevertheless, I am fine adding the kunit_resource_destroy, etc. I just
    wanted to make sure I understood what you were asking.

    \
     
     \ /
      Last update: 2019-08-13 02:41    [W:2.368 / U:1.176 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site