kunit_kfree_const(9)
π kunit_kfree_const (9) β from the Kernel API Manual π
okay so bestie, welcome to the kunit_kfree_const page, brought to you by the Kernel API Manual (yes that's the manual name, i'm not being weird, it's just on the page π«Ά). this one's a tiny little function that's lowkey the polite version of free-ing test memory. let's get into it β¨
πΈ NAME πΈ
kunit_kfree_const β conditionally free test managed memory. that's the whole vibe: it frees sometimes. it's a maybe girlie. π
β¨ SYNOPSIS β¨
void kunit_kfree_const (struct kunit *test , const void *x );
returns nothing, obviously. doesn't want the smoke of an error code π₯
π ARGUMENTS π
testβ the test context object. it's the main character of your test, you know her πxβ pointer to the memory. just a pointer. that's it. that's the whole thing π¦
π§ DESCRIPTION π§
okay so here's the tea β β this calls kunit_kfree only if x is not in the .rodata section.
that's it. that's the function. it's giving "i'll free it, but only if it's not one of the read-only girlies." π
and if you want the full lore on why .rodata matters here, the page literally says to go read kunit_kstrdup_const for more information β so go read that one bestie, it's linked down there π
lowkey important: the free is conditional. it does not just free anything you hand it, and no, i'm not elaborating beyond what the page says π₯
π«Ά SEE ALSO π«Ά
the kernel file that matters here is ./include/kunit/test.h, and then there's a genuinely iconic amount of related stuff β ngl this list is a whole friend group π
enum kunit_status(9)struct kunit_case(9)KUNIT_CASE(9)KUNIT_CASE_ATTR(9)KUNIT_CASE_SLOW(9)KUNIT_CASE_PARAM(9)KUNIT_CASE_PARAM_ATTR(9)KUNIT_CASE_PARAM_WITH_INIT(9)struct kunit_suite(9)struct kunit(9)kunit_test_suites(9)kunit_test_init_section_suites(9)kunit_kmalloc_array(9)kunit_kmalloc(9)kunit_kfree(9)kunit_kzalloc(9)kunit_kcalloc(9)kunit_kstrdup(9)kunit_kstrdup_const(9)kunit_attach_mm(9)kunit_vm_mmap(9)kunit_mark_skipped(9)kunit_skip(9)kunit_info(9)kunit_warn(9)kunit_err(9)KUNIT_SUCCEED(9)KUNIT_FAIL(9)KUNIT_EXPECT_TRUE(9)KUNIT_EXPECT_FALSE(9)KUNIT_EXPECT_EQ(9)KUNIT_EXPECT_PTR_EQ(9)KUNIT_EXPECT_NE(9)KUNIT_EXPECT_PTR_NE(9)KUNIT_EXPECT_LT(9)KUNIT_EXPECT_LE(9)KUNIT_EXPECT_GT(9)KUNIT_EXPECT_GE(9)KUNIT_EXPECT_STREQ(9)KUNIT_EXPECT_STRNEQ(9)KUNIT_EXPECT_MEMEQ(9)KUNIT_EXPECT_MEMNEQ(9)KUNIT_EXPECT_NULL(9)KUNIT_EXPECT_NOT_NULL(9)KUNIT_EXPECT_NOT_ERR_OR_NULL(9)KUNIT_FAIL_AND_ABORT(9)KUNIT_ASSERT_TRUE(9)KUNIT_ASSERT_FALSE(9)KUNIT_ASSERT_EQ(9)KUNIT_ASSERT_PTR_EQ(9)KUNIT_ASSERT_NE(9)KUNIT_ASSERT_PTR_NE(9)KUNIT_ASSERT_LT(9)KUNIT_ASSERT_LE(9)KUNIT_ASSERT_GT(9)KUNIT_ASSERT_GE(9)KUNIT_ASSERT_STREQ(9)KUNIT_ASSERT_STRNEQ(9)KUNIT_ASSERT_MEMEQ(9)KUNIT_ASSERT_MEMNEQ(9)KUNIT_ASSERT_NULL(9)KUNIT_ASSERT_NOT_NULL(9)KUNIT_ASSERT_NOT_ERR_OR_NULL(9)KUNIT_ARRAY_PARAM(9)KUNIT_ARRAY_PARAM_DESC(9)kunit_register_params_array(9)kunit_warning_suppress(9)KUNIT_SUPPRESSED_WARNING_COUNT(9)KUNIT_EXPECT_SUPPRESSED_WARNING_COUNT(9)KUNIT_ASSERT_SUPPRESSED_WARNING_COUNT(9)
like, that's the whole squad. go say hi π
and that's the page!! mwah π this one shipped from the source path ./include/kunit and it's dated October 2026 β so like, mark your calendar bestie, this manual page is from the future and it ate πβ¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms