plpks_unwrap_object(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… plpks_unwrap_object β€” bestie's guide to unwrapping PLPKS objects ✨

okay so real talk, this one is a kernel API function (it's plpks_unwrap_object(9), say it with your chest) and it does exactly one iconic thing: it unwraps an object using the default wrapping key stored in the PLPKS. that's the whole personality. πŸŽ€


✨ SYNOPSIS ✨

int plpks_unwrap_object (u8 **input_buf , u32 input_len , u8
**output_buf , u32 *output_len );

like yes bestie the double pointers are giving main character energy, they are supposed to be like that πŸ’…


🌸 ARGUMENTS 🌸

  • input_buf β€” the buffer holding the data you wanna unwrap. your little wrapped present 🎁
  • input_len β€” how long that input buffer is. fr fr, tell it the size.
  • output_buf β€” where the unwrapped data goes. the reveal ✨
  • output_len β€” the length of the output buffer. gotta know how much room you have, no cap.

πŸ¦‹ DESCRIPTION πŸ¦‹

so the H_PKS_UNWRAP_OBJECT HCALL is the actual star of the show here β€” it unwraps an object that was previously wrapped using the H_PKS_WRAP_OBJECT HCALL. it's the reverse slay. πŸ”₯

and here's the possible reasons you'd get a returned errno value β€” lowkey the receipts of what went wrong:

  • -ENXIO β€” if PLPKS is not supported πŸ™ˆ
  • -EIO β€” 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 β€” if invalid authorization parameter; if invalid or unsupported object unwrapping flags; if invalid input buffer parameter; if invalid input buffer length parameter; if invalid output buffer parameter; if invalid output buffer length parameter; if invalid continue token parameter; if the wrapping key is not compatible with the wrapping algorithm; if the wrapped object's format is not supported; if the wrapped object is invalid 😭 that's a LOT of ways to be invalid tbh
  • -EPERM β€” if access is denied 🚫
  • -ENOENT β€” if the wrapping key for the provided object was not found πŸ•΅οΈβ€β™€οΈ
  • -EBUSY β€” if unable to handle the request or long running operation initiated, retry later. like it's not a no, it's a "not right now" ⏳

πŸ‘‘ RETURN πŸ‘‘

On success, 0 is returned. a negative errno if not. that's it, that's the vibe check. ⭐


🌈 SEE ALSO 🌈

Kernel file ./arch/powerpc/platforms/pseries/plpks.c β€” go read the source bestie, it's right there πŸ“–

and the whole friend group:


okay that's the whole page, tysm for reading 🫢 this came from ./arch/powerpc/platforms/pseries, dated October 2026, and it's the plpks_unwrap_object(9) manual page β€” periodt. πŸ’œπŸ§šβ€β™€οΈ

πŸ“¦ where this page comes from