Re: [RFC][3/11][MANUX] Kernel compatibility : syscall numbers

From: Emmanuel Colbus
Date: Tue Apr 15 2014 - 11:10:45 EST


Le 15/04/2014 17:02, One Thousand Gnomes a écrit :
> On Tue, 15 Apr 2014 15:42:51 +0200
> Emmanuel Colbus <ecolbus@xxxxxxxxxx> wrote:
>
>> Continuing the discussion regarding syscalls, I have a question
>> regarding vector 0x80.
>>
>> As I mentionned earlier, my OS's internals are very different from
>> Linux's, thus I have had a need for a few new syscalls. Since I wanted
>> to avoid any collision with Linux, but I also wanted to keep the
>> ability to put the syscall table in a single 4096-byte page on 64-bit
>> computers (on which I hope to run one day), I chose to start taking
>> syscall number 511, and to progress downwards - currently, I'm using
>> numbers 511 through 501 included (with a hole at 503, but I'll likely
>> fill it again in the future).
>>
>> Is this okay for you? And in this case, if this isn't asking too much,
>> could you avoid using them for now, to avoid any conflict?
>
> I don't see why the question arises. Your non Linux ABI binaries will be
> the ones to use such calls. They can have a different ELF header to Linux
> binaries. Linux then won't even try and run them by mistake. At that
> point your worst case is Linux calls eventually collide with your own and
> you have two tables according to ABI.

Hmmm... I see your point... Currently, I simply use the Linux ELF
header, and I hadn't even thought about using a different one. Indeed,
using a different header seems like a good solution.

OK, unless a better idea arises, I think I'll use this solution.

Thanks!

Emmanuel

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/