Date: Tue, 4 Dec 2012 23:02:55 +0200 From: Konstantin Belousov <kostikbel@gmail.com> To: xen@freebsd.org Subject: Call for testers: vfork(2) repair for Xen Message-ID: <20121204210255.GS3013@kib.kiev.ua>
next in thread | raw e-mail | index | archive | help
--jF32gZOFbnzmk3b4 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi, there is plain erronous special case for Xen in the handling of vfork(2) syscall, which converts it into the fork(2), but only on Xen. I think this was a bug to commit the change in the course of importing Xen support at al= l. Could somebody of you, who use paravirtualized kernels, test the patch below. After the patched kernel is booted, just running csh(1) and calling any external command from it, e.g. ls(1), is enough. I already tried to solicit the testing of the fix in private, but nobody responded. I am going to commit the change in a week, unless somebody report a real issue with Xen pmap, uncovered by it. diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index b8a4825..0d2709f 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -150,11 +150,7 @@ sys_vfork(struct thread *td, struct vfork_args *uap) int error, flags; struct proc *p2; =20 -#ifdef XEN - flags =3D RFFDG | RFPROC; /* validate that this is still an issue */ -#else flags =3D RFFDG | RFPROC | RFPPWAIT | RFMEM; -#endif =09 error =3D fork1(td, flags, 0, &p2, NULL, 0); if (error =3D=3D 0) { td->td_retval[0] =3D p2->p_pid; --jF32gZOFbnzmk3b4 Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iQIcBAEBAgAGBQJQvmT+AAoJEJDCuSvBvK1BSJ4P/A1tLbh5f2lG1rJZ18N43QF1 tB80M1jCkM0HFByLuzlZiDmQ1ewSLIhOPChBbCc6HwV5TaqHIm5wZFb0s9KaAjpz 9Hzx9GUGzMaBS0/4/WaK4yAdz3vDx3sPenSeyldOn5VM7Y8twPBOzvN2Cd8nZwMQ IKwKSy7KycBop5jdlEw6LA4HDV5XZNCDgqjolBd0G8QCZroxiI/Wv9aB5npOH1Ia fsLiwUBus6kc8aY4MZqe9J+SzXN7g3WK0/ZXtpzQx5KUxPFgGdXopscQq1CTfhbs X6L4eGMJHP27qaDp3x1B/v+kYX61gujiLNA9sMJcbqs6rgpricjnC1VAbgto/3l4 cLHGPFSPWOmyi5LeEHr6qXyGhZ4LJahufrsUQeYUYCl71W2NrJC9saOaMqlzkTl/ lL1MJcw05d0vMXDrhPwVKOs2weo54EeSZLOjTFZDebKqPBNi5zQHFQ77Mj8r14WN LXBTN4bsV1Xzyj4guI3EZMy0PE/kh61k02F+V4TF0rH4HvOKVQ41lTRVmueXY5Tc pB/AhrpM0EOM54Qizb4VrkJf2iAw7+6LBxYGn3CYLY11+qWbvxn+0i8ieHFdT1oO DtS1sdWfOHmgL0paW7tMp6bRs/tFSyQMiFfCJsD10gefGvlJ44vQSo8LtRhXA2Bd 3SpdVmSRJAJyRwvtKpeN =0Ts+ -----END PGP SIGNATURE----- --jF32gZOFbnzmk3b4--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121204210255.GS3013>