- service. In its current implementation, this reads and parses the <varname>$INVOCATION_ID</varname> environment
- variable that the service manager sets when activating a service, see
- <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details. The
- ID is cached internally. In future a different mechanism to determine the invocation ID may be added.</para>
-
- <para>Note that <function>sd_id128_get_machine_app_specific()</function>, <function>sd_id128_get_boot()</function>,
- <function>sd_id128_get_boot_app_specific()</function>, and <function>sd_id128_get_invocation()</function> always
- return UUID v4 compatible IDs. <function>sd_id128_get_machine()</function> will also return a UUID v4-compatible
- ID on new installations but might not on older. It is possible to convert the machine ID into a UUID v4-compatible
- one. For more information, see
- <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
+ service. In its current implementation, this tries to read and parse the following:
+ <itemizedlist>
+ <listitem>
+ <para>The <varname>$INVOCATION_ID</varname> environment variable that the service manager sets when
+ activating a service.</para>
+ </listitem>
+ <listitem>
+ <para>An entry in the kernel keyring that the system service manager sets when activating a service.
+ </para>
+ </listitem>
+ </itemizedlist>
+ See <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for details. The ID is cached internally. In future a different mechanism to determine the invocation ID
+ may be added.</para>
+
+ <para>Note that <function>sd_id128_get_machine_app_specific()</function>,
+ <function>sd_id128_get_boot()</function>, <function>sd_id128_get_boot_app_specific()</function>, and
+ <function>sd_id128_get_invocation()</function> always return UUID Variant 1 Version 4 compatible IDs.
+ <function>sd_id128_get_machine()</function> will also return a UUID Variant 1 Version 4 compatible ID on
+ new installations but might not on older. It is possible to convert the machine ID non-reversibly into a
+ UUID Variant 1 Version 4 compatible one. For more information, see
+ <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>. It is
+ hence guaranteed that these functions will never return the ID consisting of all zero or all one bits
+ (<constant>SD_ID128_NULL</constant>, <constant>SD_ID128_ALLF</constant>) — with the possible exception of
+ <function>sd_id128_get_machine()</function>, as mentioned.</para>