STRUCT FUTEX_UNLOCK_CS_RANGE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

struct futex_unlock_cs_range β€” bestie, this is the range for the VDSO unlock critical section ✨ (and yes, it's from the Kernel API Manual, we're doing big-kid kernel stuff today πŸŽ€)


✨ SYNOPSIS ✨

struct futex_unlock_cs_range {
    unsigned long          start_ip;
    unsigned int           len;
    unsigned int           pop_size32;
 };

That's the whole struct, no cap 🫢


🌸 Members 🌸

  • start_ip β€” the start IP of the robust futex unlock critical section, and it's inclusive ok so don't forget that part πŸ’–
  • len β€” the length of the robust futex unlock critical section πŸ“
  • pop_size32 β€” the Pending OP pointer size indicator πŸ‘‘ and the vibes are: 0 == 64-bit, 1 == 32-bit. literally just those two, that's the whole personality πŸ¦‹

🌈 SEE ALSO 🌈

Kernel file ./include/linux/futex_types.h plus its little friend group: struct futex_sched_data(9), struct futex_mm_phash(9), struct futex_unlock_cs_ranges(9), struct futex_mm_data(9) πŸ’œ (yes futex_unlock_cs_ranges with the s is a different one than this page, don't get it twisted πŸ™ˆ)


ok that's the whole page, you ate that πŸ’… this one lives in ./include/linux and it's dated October 2026, so like, future-coded of it ⭐ bye bestie, go unlock some critical sections responsibly πŸ§šβ€β™€οΈπŸŒΈ

πŸ“¦ where this page comes from