Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Jul 2003 11:47:08 +0200
From:      Pawel Jakub Dawidek <nick@garage.freebsd.pl>
To:        "Alan L. Cox" <alc@imimic.com>
Cc:        das@freebsd.org
Subject:   Re: Bug in VM pages protection handling.
Message-ID:  <20030715094708.GL4973@garage.freebsd.pl>
In-Reply-To: <3F13C40A.E2ACE104@imimic.com>
References:  <20030712202216.GG4973@garage.freebsd.pl> <3F10762E.D17A7307@imimic.com> <20030712213249.GJ4973@garage.freebsd.pl> <20030715080501.GA34504@HAL9000.homeunix.com> <20030715085721.GJ4973@garage.freebsd.pl> <3F13C40A.E2ACE104@imimic.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--20Vs8q+K0csnIr5j
Content-Type: multipart/mixed; boundary="ckw48dMXwVCm+GhK"
Content-Disposition: inline


--ckw48dMXwVCm+GhK
Content-Type: text/plain; charset=iso-8859-2
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Jul 15, 2003 at 04:06:18AM -0500, Alan L. Cox wrote:
+> Could you post a pointer to the kernel module's source code?

It is hard to reproduce, you need majordomo for this:)
Here is discussion about this:

	https://sourceforge.net/mailarchive/forum.php?thread_id=3D2722479&forum_id=
=3D7642

And here is procedure that should handle everything:

	# cd /usr/ports/mail/majordomo
	# make install clean
	# cd /tmp
	# cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/cerb-ng co -D "July 11, 200=
3" cerb-ng
	# cd cerb-ng
	# make; make install
	# kldload cerb
	# /sbin/cbctl -f /path/to/majordomo-test.cb
	and:
	# echo test | /usr/local/majordomo/wrapper resend -l test-l test-l-outgoing
	Here you should have 'Bus error'.

Policy majordomo-test.cb is attached. Look into logs for PIDs of processes
that was monitored by cerb, they got read-only pages and look at PID
of process exiting with SIGBUS.

I've spend two days(?) on tracking this down in cerb, so good luck!

PS. Note that we're talking about FreeBSD 4.x here.

--=20
Pawel Jakub Dawidek                       pawel@dawidek.net
UNIX Systems Programmer/Administrator     http://garage.freebsd.pl
Am I Evil? Yes, I Am!                     http://cerber.sourceforge.net

--ckw48dMXwVCm+GhK
Content-Type: text/plain; charset=iso-8859-2
Content-Disposition: attachment; filename="majordomo-test.cb"

#include "addons.cbh"

beginrules

REGISTER("majorodomo-test")

ADD_SYSCALL(SYS_execve);

if (syscall == SYS_execve && ruid > 0) {
	log(LOG_INFO, "PROCESS: %s PID=%u, ruid=%u, euid=%u", pname, pid, ruid,
	    euid);
	/*
	 * Because here we're using syscall argument (arg[0]) new page
	 * page will be allocated for this argument and this page
	 * will be marked as read-only.
	 */
	log(LOG_INFO, "ARG[0]: %s", arg[0]);
	return call();
}

endrules

--ckw48dMXwVCm+GhK--

--20Vs8q+K0csnIr5j
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (FreeBSD)

iQCVAwUBPxPNnD/PhmMH/Mf1AQEYwwQAjfTGygGawrmdn+rxY9WxqcS4w8g5AtF9
7P7Y26VSsOIn8c9Eld6lJDQgY+eNS4pOz6I0oImYWZhAh8AzyEI62bRH7q8OdrWS
cDHsIHa3ul1b+BMYQGWR/a+VVXsO0ZGj2AUmFQkFWFjrruYHJcn7IUCr1BCmfJ+5
1jB+lQPTn+g=
=SAHc
-----END PGP SIGNATURE-----

--20Vs8q+K0csnIr5j--



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