liveupdate_flb_get_incoming(9)
β¨ liveupdate_flb_get_incoming(9) β the "gimme my stuff back" function β¨
okay so bestie, this one lives in section 9 of the kernel API manual, and it's literally the function that hands you back your FLB object after a reboot π like the post-reboot reunion episode. it's called liveupdate_flb_get_incoming, and no cap, it's lowkey the main character of the incoming path π
πΈ NAME πΈ
liveupdate_flb_get_incoming β Retrieve the incoming FLB object. that's it, that's the whole vibe π«Ά
π¦ SYNOPSIS π¦
int liveupdate_flb_get_incoming (struct liveupdate_flb *flb , void
**objp );
yes bestie, that's genuinely how it's laid out, line break and all. copy it exactly, don't @ me π
π ARGUMENTS π
flbβ The FLB definition. this is your little ID card for the FLB, you gotta hand it over so the function knows which one you're talking about β¨objpβ Output parameter; will be populated with the live shared object. it's an output parameter, so like, it gets filled in for you β you're not setting it, you're receiving it π
π DESCRIPTION π
Returns a pointer to its shared live object for the incoming (post-reboot) path. so yeah, post-reboot, this is the path, and it's handing you a pointer to the shared live object. slay π
and here's the part that's giving very much "first time?" energy: if this is the first time the object is requested in the new kernel, this function will trigger the FLB's .retrieve callback to reconstruct the object from its preserved state. so the very first ask does the work π₯ subsequent calls will return the same cached object β so after that first call it's just chillin', cached, same object, no re-reconstructing π
β RETURN β
0 on success, or a negative errno on failure. and because the error codes matter, here's the whole lineup, memorise them bestie π§:
-ENODATAβ means no incoming FLB data πΈ-ENOENTβ means specific flb not found in the incoming data π-ENODEVβ if the FLB's module is unloading (bye, module π)-EOPNOTSUPPβ when live update is disabled or not configured π
lowkey important: those error codes are the literal contract of this function, so if you're checking errors, check for these ones, in these meanings, periodt π
π SEE ALSO π
the whole friend group, ikkk π:
- Kernel file
./kernel/liveupdate/luo_flb.c - LUO File Lifecycle Bound Global Data(9)
luo_flb_file_preserve(9)luo_flb_file_unpreserve(9)luo_flb_file_finish(9)luo_flb_unregister_all(9)liveupdate_register_flb(9)liveupdate_unregister_flb(9)liveupdate_flb_get_outgoing(9)β the outgoing twin, going the other way π¦luo_flb_serialize(9)
and that's the page, bestie! π sign-off time: this lil beauty comes from ./kernel/liveupdate, dated October 2026, and it's liveupdate_flb_get_incoming(9) the whole way down. go get your incoming object, you've got this π
β¨π«Ά
π¦ 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