fpu_lfpc_safe(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… fpu_lfpc_safe β€” Kernel API Manual

okay so bestie, welcome to fpu_lfpc_safe(9) β€” yes that's the manual name, yes it's a mouthful, no we're not renaming it, it's iconic as is πŸŽ€

This is a kernel API page, so grab your strawberry drink πŸ“ and let's get into it.


✨ NAME ✨

fpu_lfpc_safe β€” literally just: load the floating point control register, but safely. The "safely" is doing a LOT of work here and we love her for it πŸ’…


🌸 SYNOPSIS 🌸

void fpu_lfpc_safe (unsigned int *fpc );

Copy it exactly, don't @ me. void return, one pointer argument, no drama πŸ¦‹


πŸŽ€ ARGUMENTS πŸŽ€

  • fpc β€” the new value for the floating point control register. That's it. That's the whole argument. She's the main character of this function πŸ‘‘

πŸ’– DESCRIPTION πŸ’–

So here's the vibe: this function loads the floating point control register. Easy, right? NOT SO FAST bestie 😭

This may lead to an exception. Why? Because a saved value may have been modified by user space β€” and user space has hands, apparently:

  • ptrace
  • signal return
  • kvm registers

...any of which could have turned that saved value into an invalid value. Rude, honestly. πŸ™ˆ

And in such a case? The function sets the floating point control register to zero. That's the safety net, that's the whole point, periodt πŸ”₯

no cap: the exception risk is real, and the zero fallback is the whole reason "safe" is in the name. Don't skip the details here πŸ’€

🫢 SEE ALSO 🫢

  • Kernel file ./arch/s390/include/asm/fpu-insn.h β€” go read it, iykyk ⭐

🌈 sign-off 🌈

That's the whole page, bestie! This one lives in ./arch/s390/include/asm, dated October 2026, and yes β€” it's fpu_lfpc_safe(9), the one and only πŸ’œβœ¨ Go forth and load those registers safely 🧚🌸

πŸ“¦ where this page comes from