Op 06-09-2024 om 05:07 schreef Huang Ying: > [...] > +static void resource_test_insert_resource(struct kunit *test, struct resource *parent, > + resource_size_t start, resource_size_t size, > + const char *name, unsigned long flags) > +{ > + struct resource *res; > + > + res = kzalloc(sizeof(*res), GFP_KERNEL); > + KUNIT_ASSERT_NOT_NULL(test, res); > + > + res->name = name; > + res->start = start; > + res->end = start + size - 1; > + res->flags = flags; > + if (insert_resource(parent, res)) { > + kfree(res); > + KUNIT_FAIL_AND_ABORT(test, "Fail to insert resource %pR\n", res); Isn't this a user-after-free? > + } > + > + kunit_add_action_or_reset(test, remove_free_resource, res); > +} >