STRUCT KLP_PATCH(9)
β¨ struct klp_patch(9) β¨
okay so bestie, welcome to the glow-up era of struct klp_patch β it's the patch structure for live patching, and it's literally the main character of this whole header file π
πΈ SYNOPSIS πΈ
struct klp_patch {
struct module *mod;
struct klp_object *objs;
struct klp_state *states;
bool replace;
struct list_head list;
struct kobject kobj;
struct list_head obj_list;
bool enabled;
bool forced;
struct work_struct free_work;
struct completion finish;
};
π Members π
Here's the whole cast, no skips, no cuts π«Ά
modβ reference to the live patch moduleobjsβ object entries for kernel objects to be patchedstatesβ system states that can get modifiedreplaceβ replace all actively used patcheslistβ list node for global list of actively used patcheskobjβ kobject for sysfs resourcesobj_listβ dynamic list of the object entriesenabledβ the patch is enabled (but operation may be incomplete)forcedβ was involved in a forced transitionfree_workβ patch cleanup from workqueue-contextfinishβ for waiting till it is safe to remove the patch module
ngl bestie, peep that enabled one β enabled does not mean "all done", it means "operation may be incomplete". do not get it twisted π
π¦ SEE ALSO π¦
Kernel file ./include/linux/livepatch.h plus these absolute icons: struct klp_func(9), struct klp_object(9), struct klp_state(9) β go read them, iykyk π
and that's the whole vibe check, bestie β go patch something iconic π
sign-off szn: this one lives in ./include/linux, dated October 2026 π periodt.
π¦ 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