kunit_kcalloc(9)
π
kunit_kcalloc β from the kunit manual pages, bestie β¨
Okay so real talk, this is a <pink>Kernel API Manual</pink> page and it's about kunit_kcalloc, which is genuinely one of the most chill little helpers in the whole testing situation. Let me put you on π«Ά
πΈ NAME
kunit_kcalloc β literally just like kunit_kmalloc_array(), except it zeroes the allocation. That's it, that's the vibe. Clean slate energy π
β¨ SYNOPSIS
void * kunit_kcalloc (struct kunit *test , size_t n , size_t size ,
gfp_t gfp );
Look at her. Four args, returns a void *. Iconic.
π ARGUMENTS
testβ the test context object π like, whose party is this allocation crashing anyway.nβ number of elements π’ yes bestie, you're getting an array of them.sizeβ the size in bytes of the desired memory π exactly how much room each one needs.gfpβ flags passed to underlyingkmallocπ§ just forwarding the vibe straight down, no notes.
π DESCRIPTION
See kcalloc and kunit_kmalloc_array for more information. That's the whole thing, fr fr β this page is not gonna hold your hand beyond that π
No cap though: it's the zeroing that's the main character here.kunit_kmalloc_array()hands you memory,kunit_kcallochands you memory that's already been cleared, and that distinction is doing a lot of work.
π¦ SEE ALSO
Kernel file ./include/kunit/test.h, plus this entire 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_kfree_const(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 I said. Whole friend group. Go say hi π
Source for all this lore: ./include/kunit π and it's dated October 2026 β¨ so yeah, bookmark it, screenshot it, send it to the group chat β mwah π
ππ
π¦ 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