[PATCH 38/41] x86/alternatives: Add documentation for text_poke_int3_queue()

From: Ingo Molnar
Date: Thu Mar 27 2025 - 17:05:37 EST


Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
arch/x86/kernel/alternative.c | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
index 6e2fab1768e2..ba322a29aefd 100644
--- a/arch/x86/kernel/alternative.c
+++ b/arch/x86/kernel/alternative.c
@@ -2873,6 +2873,19 @@ static void text_poke_int3_flush(void *addr)
}
}

+/**
+ * text_poke_int3_queue() -- update instruction on live kernel on SMP, batched
+ * @addr: address to patch
+ * @opcode: opcode of new instruction
+ * @len: length to copy
+ * @emulate: instruction to be emulated
+ *
+ * Add a new instruction to the current queue of to-be-patched instructions
+ * the kernel maintains. The patching request will not be executed immediately,
+ * but becomes part of an array of patching requests, optimized for batched
+ * execution. All pending patching requests will be executed on the next
+ * text_poke_int3_finish() call.
+ */
void __ref text_poke_int3_queue(void *addr, const void *opcode, size_t len, const void *emulate)
{
text_poke_int3_flush(addr);
--
2.45.2