Skip to contentSkip to conversation

uml: Commentary addition to recent SYSEMU fix.

PATCH In review [email protected] 1 participant 1 message Jan 13, 2005 User-mode Linux (UML)

lore
Share & tools
lore
#0 lore raw

PATCH 3/8 uml: Commentary addition to recent SYSEMU fix.

From: Paolo 'Blaisorblade' Giarrusso <[email protected]>

Add some comments about the "uml-sysemu-fixes" patch of 2.6.10-mm1 (merged in 2.6.11-rc1).

---

 linux-2.6.11-paolo/arch/um/kernel/tt/tracer.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+)
arch/um/kernel/tt/tracer.c renamed from arch/um/kernel/tt/tracer.c~uml-comment-fix-sysemu-tt +14 -0
diff -puN arch/um/kernel/tt/tracer.c~uml-comment-fix-sysemu-tt arch/um/kernel/tt/tracer.c
@@ -313,6 +313,15 @@ int tracer(int (*init_proc)(void *), voi
 				sig = 0;
 				op = do_proc_op(task, proc_id);
 				switch(op){
+				/*
+				 * This is called when entering user mode; after
+				 * this, we start intercepting syscalls.
+				 *
+				 * In fact, a process is started in kernel mode,
+				 * so with is_tracing() == 0 (and that is reset
+				 * when executing syscalls, since UML kernel has
+				 * the right to do syscalls);
+				 */
 				case OP_TRACE_ON:
 					arch_leave_kernel(task, pid);
 					tracing = 1;
@@ -347,6 +356,11 @@ int tracer(int (*init_proc)(void *), voi
 					continue;
 				}
 				tracing = 0;
+				/* local_using_sysemu has been already set
+				 * below, since if we are here, is_tracing() on
+				 * the traced task was 1, i.e. the process had
+				 * already run through one iteration of the
+				 * loop which executed a OP_TRACE_ON request.*/
 				do_syscall(task, pid, local_using_sysemu);
 				sig = SIGUSR2;
 				break;

_

-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel