kcsan_check_read(9)
π kcsan_check_read
okay so bestie, welcome to the Kernel API Manual β yes that's the manual we're in, we're doing kernel stuff today, put your hair up π
This one's kcsan_check_read β she checks regular read access for races. That's the whole vibe. KCSAN's whole thing is spotting data races, and this little icon is you telling it "hey, I'm doing a normal (non-atomic) read right here, please keep an eye out for me" πβ¨
πΈ SYNOPSIS
kcsan_check_read (ptr , size );
literally that's it, two args, no drama π
β¨ ARGUMENTS
ptrβ the address of the access. like, where you're reading from π«Άsizeβ the size of the access. how many bytes you're grabbing, bestie π
π¦ SEE ALSO
full squad, no cap β these all live in the kernel file ./include/linux/kcsan-checks.h:
__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_read(9)__kcsan_check_write(9)__kcsan_check_read_write(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)
like I said. a whole squad ππ
ngl the read checks are genuinely iconic β they're how KCSAN knows what's a plain read versus all the fancy atomic/scoped stuff above. use her, she ate π
okay that's the whole page bestie, go be a main character in your kernel π§
this one's served up from ./include/linux, dated October 2026 β mwah, catch you in the next manpage ππ«Άπ
π¦ 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