unpack_table(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

Okay bestie, welcome to unpack_table(9) from the Kernel API Manual πŸ’…. This function unpacks a dfa table (one of accept, default, base, next check). It's giving low-level table-unpacking main character energy, and yes, the details matter. πŸŽ€

✨ SYNOPSIS ✨

Here's the exact signature, no edits, no cap:

struct table_header * unpack_table (const char *blob , size_t bsize );

🫢 ARGUMENTS 🫢

  • blob β€” the data to unpack. It's literally NOT NULL, bestie β€” do not come in here with a null pointer 😭.
  • bsize β€” size of blob. Simple as that. 🌸

πŸ”₯ RETURN πŸ”₯

You get a pointer to table, else ERR_PTR on failure. Periodt. πŸ’…

πŸ’€ NOTE πŸ’€

Must be freed by kvfree (not kfree) β€” literally not kfree, okay? This is the memory-management vibe check you do not want to fail. 😭πŸ”₯

🌈 SEE ALSO 🌈

Kernel file ./security/apparmor/match.c is where the friend group lives: verify_table_headers(9), verify_dfa(9), dfa_free(9), aa_dfa_free_kref(9), remap_data16_to_data32(9), aa_dfa_unpack(9), aa_dfa_match_len(9), aa_dfa_match(9), aa_dfa_next(9), aa_dfa_match_until(9), aa_dfa_matchn_until(9), and aa_dfa_leftmatch(9). Go read them, iykyk πŸ¦‹βœ¨


Sign-off cuteness: this page comes from ./security/apparmor, dated October 2026, and it's the unpack_table(9) manual page. Stay iconic and slay, bestie πŸ«ΆπŸ’–πŸŽ€

πŸ“¦ where this page comes from