Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Aug 2006 12:43:14 GMT
From:      Roman Divacky <rdivacky@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 103704 for review
Message-ID:  <200608121243.k7CChEue023849@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=103704

Change 103704 by rdivacky@rdivacky_witten on 2006/08/12 12:42:19

	Dont call linux_proc_init() in execve() in a case when the newly execed
	process is fbsd (or generally non-linux) one.

Affected files ...

.. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_machdep.c#42 edit

Differences ...

==== //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_machdep.c#42 (text+ko) ====

@@ -139,7 +139,13 @@
 	if (error == 0)
 		error = kern_execve(td, &eargs, NULL);
 	if (error == 0)
-   	   	error = linux_proc_init(td, 0, 0);
+	   	/* linux process can exec fbsd one, dont attempt
+		 * to create emuldata for such process using
+		 * linux_proc_init, this leads to a panic on KASSERT
+		 * because such process has p->p_emuldata == NULL
+		 */
+	   	if (td->td_proc->p_sysent == &elf_linux_sysvec)
+   		   	error = linux_proc_init(td, 0, 0);
 	return (error);
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200608121243.k7CChEue023849>