kunit_kstrdup_const(9)
π kunit_kstrdup_const(9) π
okay so this is a page from the Kernel API Manual, and it's about kunit_kstrdup_const β the function that conditionally duplicates a string into a test managed allocation. bestie, it's giving "I only duplicate when I absolutely have to" energy β¨
π NAME π
kunit_kstrdup_const β Conditionally duplicates a string into a test managed allocation. no cap, that's the whole name vibe π
β¨ SYNOPSIS β¨
const char * kunit_kstrdup_const (struct kunit *test , const char *str , gfp_t gfp );
πΈ ARGUMENTS πΈ
testβ The test context object. it's your test's little home base, the main character of the test world π«Άstrβ TheNULL-terminated string to duplicate. yes, the whole string,NULL-terminated and everything, not playing games πgfpβ flags passed to underlyingkmalloc. those flags go straight tokmalloc, iykyk π¦
π¦ DESCRIPTION π¦
okay so here's the tea: it calls kunit_kstrdup only if str is not in the rodata section. that's the "conditionally" part, and it's lowkey important π
β οΈ bestie, listen: this thing must be freed withkunit_kfree_constβ notkunit_kfree. do not mix them up, fr fr π
also see kstrdup_const and kunit_kmalloc_array for more information, because those are the related lore drops πβ¨
π SEE ALSO π
Kernel file ./include/kunit/test.h:
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_kfree_const(9)kunit_kstrdup(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)
okay bye bestie π this page's source is ./include/kunit, it's from the Kernel API Manual, dated October 2026, and the title is kunit_kstrdup_const(9). slay, stay hydrated, and free your strings with the right function πβ¨
π¦ 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