Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Jan 2013 08:21:37 -0800
From:      Nathan Whitehorn <nwhitehorn@freebsd.org>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        freebsd-toolchain@freebsd.org, freebsd-arch@freebsd.org
Subject:   Re: LLVM Image Activator
Message-ID:  <50F2DF11.50202@freebsd.org>
In-Reply-To: <20130113132057.GQ2561@kib.kiev.ua>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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 garbage
>>> 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 mapping
>> 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 indeed.
> 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 environments. I
probably won't write it quickly, but it should not take more than about
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.

Why are you opposed to having it there by default? I think it's actually
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 minimal
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 default,
no one can depend on them being there, no one will use it, and the point
is entirely lost.
-Nathan



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