STRUCT LIVEUPDATE_SESSION_FINISH(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME

struct liveupdate_session_finish β€” bestie, this is the struct for the ioctl(LIVEUPDATE_SESSION_FINISH) ✨

(also hi, you're reading the Kernel API Manual, welcome to the group chat 🫢)


🌸 SYNOPSIS

struct liveupdate_session_finish {
    __u32 size;
    __u32 reserved;
 };

the members, babes

  • size β€” Input; sizeof(struct liveupdate_session_finish) πŸ‘‘ you literally just tell it how big you are. self-awareness slay.
  • reserved β€” Input; must be zero. Reserved for future use. fr fr, zero. not "zero-ish." zero. 🚫

✨ Description ✨

Okay so picture this: the restoration process for a retrieved session is DONE, and this ioctl is the little "we're so back βœ…" signal that says so. It's the final operation you should perform on a session file descriptor after a live update β€” like, the last thing. the periodt of the whole saga πŸ’…

The way this works: you call this ioctl once all the required file descriptors for the session have been successfully retrieved (that's via LIVEUPDATE_SESSION_RETRIEVE_FD, iykyk) and they're fully restored from the userspace and kernel perspective. Both. Everyone has to be caught up before you hit send. no leaving anyone on read 😭

Upon success, the kernel releases its ownership of the preserved resources associated with this session πŸŽ€ That's what lets internal resources get freed β€” typically by decrementing reference counts on the underlying preserved objects. Ref counts go brrr downward. iconic.

⚠️ okay but listen: if this operation fails, the resources remain preserved in memory. Nothing gets freed. Your options are: userspace may attempt to call finish again πŸ” β€” or the resources will otherwise be reset during the next live update cycle. So it's not the end of the world, but it is a "text them again" situation πŸ™ˆ

πŸ¦‹ Return

  • 0 on success 🌈
  • negative error code on failure πŸ’€

πŸŽ€ SEE ALSO

  • Kernel file ./include/uapi/linux/liveupdate.h
  • General ioctl format(9)
  • struct liveupdate_ioctl_create_session(9)
  • struct liveupdate_ioctl_retrieve_session(9)
  • struct liveupdate_session_preserve_fd(9)
  • struct liveupdate_session_retrieve_fd(9)
  • struct liveupdate_session_get_name(9)

go read them, they're all main characters too πŸ‘‘


⭐ and that's the whole page bestie! sourced straight from ./include/uapi/linux, dated October 2026, filed under struct liveu...ssion_finish(9) β€” mwah, study up and stay hydrated πŸ’–πŸ§šπŸ“

πŸ“¦ where this page comes from