__kcsan_check_read(9)
π
__kcsan_check_read (9) β Kernel API Manual, but make it make sense
okay so bestie, welcome to the Kernel API Manual, section 9, where we talk about __kcsan_check_read. it's short, it's sweet, it's giving "tiny but crucial", and i'm obsessed. let's get into it β¨
πΈ NAME πΈ
__kcsan_check_read β check regular read access for races. that's it. that's the whole vibe check. it peeks at a read and goes "hmm, is this a race? π"
π SYNOPSIS π
__kcsan_check_read (ptr , size );
yes, the spacing is exactly like that, don't @ me, i don't make the rules (i literally do not make the rules, i just copy them exactly π)
π¦ ARGUMENTS π¦
ptrβ address of access. this is the "where" of it all, the main character of this function honestly.sizeβ size of access. how much ofptrwe're looking at. the "how much" energy. the range, if you will π«Ά
π SEE ALSO π
bestie there are SO many siblings, it's a whole family reunion, buckle up:
__kcsan_check_access(9)__kcsan_mb(9)__kcsan_wmb(9)__kcsan_rmb(9)__kcsan_release(9)kcsan_disable_current(9)kcsan_enable_current(9)kcsan_nestable_atomic_begin(9)kcsan_nestable_atomic_end(9)kcsan_flat_atomic_begin(9)kcsan_flat_atomic_end(9)kcsan_atomic_next(9)kcsan_set_access_mask(9)kcsan_begin_scoped_access(9)kcsan_end_scoped_access(9)__kcsan_check_write(9)__kcsan_check_read_write(9)kcsan_check_read(9)kcsan_check_write(9)kcsan_check_read_write(9)ASSERT_EXCLUSIVE_WRITER(9)ASSERT_EXCLUSIVE_WRITER_SCOPED(9)ASSERT_EXCLUSIVE_ACCESS(9)ASSERT_EXCLUSIVE_ACCESS_SCOPED(9)ASSERT_EXCLUSIVE_BITS(9)
and the kernel file that started it all: ./include/linux/kcsan-checks.h β literally the mothership, iykyk π
okay that's the whole page and honestly? iconic. no notes. this came from the kernel source tree at ./include/linux, dated October 2026, and it's still filed under __kcsan_check_read(9). slay, go check those reads, 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