user_exit_callable(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… user_exit_callable(9) β€” Kernel API Manual ✨

It's your Kernel API Manual bestie check-in for user_exit_callable(9). This page is lowkey a legacy warning with main character energy, so grab your emotional support iced coffee and let's get into it. πŸ’–

🌸 NAME 🌸

user_exit_callable β€” the Unfortunate ASM callable version of user_exit() for archs that didn't manage to check the context tracking static key from low level code. 🫢

✨ SYNOPSIS ✨

void user_exit_callable (void );

Not me showing you the whole signature with zero extra drama. 😭

πŸŽ€ ARGUMENTS πŸŽ€

  • void β€” no arguments. Literally nothing goes in, bestie. πŸ“

πŸ’… DESCRIPTION πŸ’…

Okay so this function is OBSOLETE, and I need you to hold that thought. It should be noinstr but it unsafely calls local_irq_save, involving illegal RCU uses through tracing and lockdep. πŸ’€

🚨 That is not a cute look. This is unlikely to be fixed as this function is obsolete.

The preferred way is to call user_exit_irqoff. Periodt. ✨

It should be the arch entry code responsibility to call into context tracking with IRQs disabled. That's the boundary, bestie β€” arch entry code has the job. πŸ‘‘

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./kernel/context_tracking.c is the source spot, and the whole squad is: ct_nmi_exit(9), ct_nmi_enter(9), ct_idle_enter(9), ct_idle_exit(9), ct_irq_enter(9), ct_irq_exit(9), __ct_user_enter(9), user_enter_callable(9), __ct_user_exit(9). 🌈

β€” signed with love from ./kernel, October 2026, on the user_exit_callable(9) page πŸ’–

πŸ“¦ where this page comes from