Date: Mon, 14 Jan 2013 12:56:46 -0600 From: Brooks Davis <brooks@freebsd.org> To: Nathan Whitehorn <nwhitehorn@freebsd.org>, Konstantin Belousov <kostikbel@gmail.com>, Ed Schouten <ed@80386.nl>, freebsd-toolchain@freebsd.org, freebsd-arch@freebsd.org Subject: Re: LLVM Image Activator Message-ID: <20130114185646.GB15933@lor.one-eyed-alien.net> In-Reply-To: <20130113202435.GN1410@funkthat.com> References: <50E9BC2D.7000302@freebsd.org> <201301070936.39052.jhb@freebsd.org> <20130107172433.GX82219@kib.kiev.ua> <CAJOYFBAZ-XQ1vash3H%2B0wA8GCoMS59eARMnA3y%2BsaPwMJqL0aQ@mail.gmail.com> <20130113132057.GQ2561@kib.kiev.ua> <50F2DF11.50202@freebsd.org> <20130113171304.GZ2561@kib.kiev.ua> <50F2F97B.5030306@freebsd.org> <20130113202435.GN1410@funkthat.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--tsOsTdHNUZQcU9Ye Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Jan 13, 2013 at 12:24:35PM -0800, John-Mark Gurney wrote: > Nathan Whitehorn wrote this message on Sun, Jan 13, 2013 at 10:14 -0800: > > On 01/13/13 09:13, Konstantin Belousov wrote: > > > On Sun, Jan 13, 2013 at 08:21:37AM -0800, Nathan Whitehorn wrote: > > >> On 01/13/13 05:20, Konstantin Belousov wrote: > > >>> On Sun, Jan 13, 2013 at 12:41:09PM +0100, Ed Schouten wrote: > > >>>> Hi Kostik, > > >>>> > > >>>> 2013/1/7 Konstantin Belousov <kostikbel@gmail.com>: > > >>>>> I still do remember the buzz about the binary format 0xCAFEBABE, = which > > >>>>> AFAIR gained image activator support on several OSes, to be garba= ge > > >>>>> collected. > > >>>> > > >>>> Maybe it would then be a good idea then to add some kind of general > > >>>> purpose remapping imgact? Example: > > >>>> > > >>>> /etc/imgacttab: > > >>>> > > >>>> cafebabe /usr/local/bin/java > > >>>> cffaedfe /usr/local/bin/osx_emulator > > >>>> 4243c0de /usr/bin/lli > > >>>> > > >>>> That way we still give people the freedom to play around with mapp= ing > > >>>> their own executable formats, but don't need to maintain a bunch of > > >>>> imgacts. > > >>> > > >>> A generic module that could be somewhat customized at runtime to map > > >>> offset+signature into the shebang path could be a possibility indee= d. > > >>> I strongly prefer to have it as module and not enabled by default. > > >>> > > >>> Asking Nathan for writing the thing is too much, IMHO, esp. in > > >>> the response to the 50-lines hack. > > >>> > > >> > > >> I think this is a good idea, since it both prevents a profusion of > > >> similar activators and works nicely in jails and similar environment= s. I > > >> probably won't write it quickly, but it should not take more than ab= out > > >> 50 lines, so I can't imagine it will be that bad. There are some > > >> complications with this kind of design from the things in the XXX > > >> comment in imgact_llvm.c about handling argv[0] that I need to think > > >> some more about. > > > Great. I do not believe in the 50 lines, but I am happy that you want > > > to work this out. > > >=20 > > >> > > >> Why are you opposed to having it there by default? I think it's actu= ally > > >> quite important that it be there by default. Having it not "standard" > > >> would be fine, but it should at least be in GENERIC. There are minim= al > > >> security risks since it just munges begin_argv and doesn't even load= the > > >> executable and it's little enough code that there should not be any > > >> kernel bloat to speak of. If things like this aren't enabled by defa= ult, > > >> no one can depend on them being there, no one will use it, and the p= oint > > >> is entirely lost. > > > All image activators demonstrated a constant stream of security holes. > > > Even our ELF activator, and I was guilty there too. > > >=20 > > > I definitely do not fight over the inclusion of the proposed activator > > > into GENERIC, but do insist on the config option + module. > > >=20 > >=20 > > OK, that sounds like a plan then. I'll try to code up something > > configurable in the next couple weeks, unless someone else beats me to = it. >=20 > I'll point out that file already has the magic (pun intended) that we > are looking for, though I do realize that the code might be a bit much > to import.. As someone who recently stuffed libmagic into a very constrained sandbox environment, I can safely assert that you don't want to go there. The code isn't written in a way that would make this easy and I definitely wouldn't want it in the kernel. -- Brooks --tsOsTdHNUZQcU9Ye Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (FreeBSD) iD8DBQFQ9FTtXY6L6fI4GtQRAv4mAKCe6ty9ESLLQmvKYE5JETr9ATOMNgCgg8D+ 9qYBdes15mbVGBbdHm8A+Ds= =Rf1J -----END PGP SIGNATURE----- --tsOsTdHNUZQcU9Ye--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130114185646.GB15933>