user_exit_callable(9)
π
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
- 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