KHO SERIALIZATION BLOCKS ABI(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ KHO SERIALIZATION BLOCKS ABI πŸŽ€

okay so bestie, this is a page from the Kernel API Manual and it's literally the whole vibe contract for the KHO Serialization Blocks framework β€” listen up πŸ’…

Subsystems that use the KHO Serialization Blocks framework rely on the stable Application Binary Interface defined below to pass serialized state from a pre-update kernel to a post-update kernel. like, that's the entire job. hand the state over, no cap 🫢


πŸ¦‹ the contract (read this part twice, fr fr)

This interface is a contract. Any modification to the structure fields, the compatible strings, or the layout of the __packed serialization structures defined here constitutes a breaking change 😭

So if you touch any of those, you must increment the version number in the KHO_FDT_COMPATIBLE string β€” that's literally the whole point, it prevents a new kernel from misinterpreting data from an old kernel. imagine the chaos otherwise πŸ’€

Changes are allowed, but only provided the compatibility version gets incremented. even then, backward/forward compatibility is only guaranteed for kernels supporting the same ABI version β€” so don't be out here assuming your mismatched kernels are gonna be besties πŸ™ˆ

✨ SEE ALSO ✨

  • Kernel file ./include/linux/kho/abi/block.h
  • KHO_BLOCK_SIZE(9)
  • struct kho_block_header_ser(9)

🌸 and that's the page!! from ./include/linux/kho/abi, dated October 2026, straight out of the Kernel API Manual β€” go forth and serialize responsibly, icon πŸ‘‘βœ¨

πŸ“¦ where this page comes from