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