kunit_kcalloc(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 underlying kmalloc 🧚 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_kcalloc hands 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