Changes

m
no edit summary
Line 5: Line 5:  
== Description ==
 
== Description ==
   −
User-space probes (uprobes) let you instrument functions in user processes. When a uprobe is triggered for the first time in a process, the kernel automatically creates a dedicated VMA for uprobes. This mapping is not removed even if the uprobe itself is later deleted. As a result, a process may retain a ''uprobes VMA'' long after probes have been removed.
+
User-space probes (uprobes) allow instrumentation of functions in user processes. When a uprobe is triggered for the first time, the kernel automatically creates a dedicated VMA mapping. This mapping is not removed even if the uprobe itself is later deleted. As a result, a process may retain uprobes VMAs long after the probes have been removed.
   −
By default, CRIU refuses to checkpoint a process that has a uprobes VMA, since restoring it without the corresponding probes can change execution semantics. The <code>--allow-uprobes</code> flag tells CRIU to proceed anyway. On restore users need to ensure that any uprobes that were active for the checkpointed processes are still installed on the restore host before resuming execution. If a restored process executes at an address that had been uprobe'd but the probe is no longer active, the kernel delivers <code>SIGTRAP</code>. Without a handler for <code>SIGTRAP</code>, the process will terminate and may produce a core dump.
+
By default, CRIU exits with an error when checkpointing a process that has a uprobes VMA, because restoring that process without the corresponding probes can change execution semantics. The <code>--allow-uprobes</code> option tells CRIU to proceed anyway.
 +
 
 +
On restore, users must ensure that any uprobes that were active for the checkpointed processes are still installed on the restore host before resuming execution. If a restored process executes code at a location that previously had a uprobe installed but the probe is no longer active, the kernel delivers <code>SIGTRAP</code>. Without a handler for <code>SIGTRAP</code>, the process will terminate and may produce a core dump.
509

edits