arch_exit_to_user_mode_work(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… arch_exit_to_user_mode_work(9)

okay so bestie, welcome to the Kernel API Manual β€” this is the page for arch_exit_to_user_mode_work, and yes it's a long name, we're gonna get through it together 🫢


🌸 NAME

arch_exit_to_user_mode_work β€” the architecture-specific TIF work for exiting to user mode ✨

like literally, that's the whole vibe: you're heading back out to user mode and this is where the arch gets to do its little pre-exit chores πŸ’…


πŸŽ€ SYNOPSIS

void arch_exit_to_user_mode_work (struct pt_regs *regs , unsigned long
       ti_work );

no cap, that's the exact signature β€” void in, void out, two args in the middle 😌


πŸ¦‹ ARGUMENTS

  • regs β€” pointer to the current task's pt_regs πŸ‘‘ that's your register snapshot right there
  • ti_work β€” the cached TIF flags, gathered with interrupts disabled πŸ”₯ (important detail, keep it, iykyk)

πŸ’– DESCRIPTION

so this one gets invoked from exit_to_user_mode_loop, and the key tea is: it's called with interrupts enabled ✨

and the default? it's a NOOP πŸ’€ like literally does nothing by default β€” but architecture-specific code can supply its own version, and that's where the actual work happens 🌈


⭐ SEE ALSO

the kernel file: ./include/linux/irq-entry-common.h πŸ“

and the whole squad of related pages, in the order the manpage gives them, no skips, no cuts 🧚:

that's a whole friend group right there, bestie πŸ˜­πŸ’œ


ngl if you're here because something's weird on the exit-to-user-mode path, check the arch-specific implementation β€” the generic default is a NOOP, so if nothing's happening, that might literally be why πŸ™ˆ

kisses from the ./include/linux directory, dated October 2026 β€” mwah, go read the other twenty-one pages, slay πŸ’…βœ¨

πŸ“¦ where this page comes from