plpks_gen_wrapping_key(9)
π plpks_gen_wrapping_key(9) β the Linux kernel API manual page, bestie edition π
okay so this is the manual page for plpks_gen_wrapping_key(9) and I'm gonna walk you through it like we're chatting at 2am, because honestly it's giving "tiny function, big responsibilities." π
β¨ NAME β¨
plpks_gen_wrapping_key β generate a brand-new random key with the 'wrapping key' policy set. that's it, that's the whole job, and it slays at it π
β SYNOPSIS β
int plpks_gen_wrapping_key (void );
like, no arguments, no drama, just vibes and a return value π¦
πΈ ARGUMENTS πΈ
voidβ no arguments, bestie. zero. none. the function said "I work alone" and honestly? main character energy π
π§ DESCRIPTION π§
okay so here's the tea β the H_PKS_GEN_KEY HCALL makes the hypervisor generate a new random key and store that key in a PLPKS object with the provided object label.
ngl the next sentence in the source text is literally With the would be visible to the user. β it just trails off mid-thought π I'm not gonna make up the missing words because that's not the move, so we're relaying it exactly how it sits there, incomplete and iconic.
Now for the part you actually came for: the possible reasons you'd get a negative errno back π«Ά
-ENXIOβ if PLPKS is not supported-EIOβ and this one has layers, bestie:- if PLPKS access is blocked due to the LPAR's state
- if PLPKS modification is blocked due to the LPAR's state
- if an error occurred while processing the request
-EINVALβ this one is a whole group chat of "something in the args is off":- if invalid authorization parameter
- if invalid object label parameter
- if invalid object label len parameter
- if invalid or unsupported policy declaration
- if invalid output buffer parameter
- if invalid output buffer length parameter
-EPERMβ if access is denied π«-ENOMEMβ if there is inadequate memory to perform this operation-EBUSYβ if unable to handle the request, she's booked and busy π-EEXISTβ if the object label already exists π taken, sorry
π₯ RETURN π₯
On success 0 is returned, a negative errno if not. short, sweet, and to the point β we love a clean contract β¨
π SEE ALSO π
Kernel file ./arch/powerpc/platforms/pseries/plpks.c β go read the source, it's right there, iykyk π
and the whole PLPKS friend group, clocking in one by one:
plpks_get_version(9)plpks_get_objoverhead(9)plpks_get_maxpwsize(9)plpks_get_maxobjectsize(9)plpks_get_maxobjectlabelsize(9)plpks_get_totalsize(9)plpks_get_usedspace(9)plpks_get_supportedpolicies(9)plpks_get_maxlargeobjectsize(9)plpks_get_signedupdatealgorithms(9)plpks_get_wrappingfeatures(9)plpks_get_passwordlen(9)plpks_is_available(9)plpks_signed_update_var(9)plpks_write_var(9)plpks_remove_var(9)plpks_wrapping_is_supported(9)plpks_wrap_object(9)plpks_unwrap_object(9)plpks_read_os_var(9)plpks_read_fw_var(9)plpks_read_bootloader_var(9)plpks_populate_fdt(9)plpks_early_init_devtree(9)
π quick vibe check reminder: -EEXIST is not a bug, it's just the label already being taken. don't @ me.
and that's the page!! written from ./arch/powerpc/platforms/pseries, version stamped October 2026, and yes the title is plpks_gen_wrapping_key(9) β mwah, bye bestie, go generate some keys responsibly πππ·
π¦ 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