[OE-core] pseudo: host user contamination
Andre McCurdy
armccurdy at gmail.com
Sat Mar 24 01:10:21 UTC 2018
On Fri, Mar 23, 2018 at 5:36 PM, Seebs <seebs at seebs.net> wrote:
> On Fri, 23 Mar 2018 17:33:28 -0700
> Andre McCurdy <armccurdy at gmail.com> wrote:
>
>> Interposing the libc syscall wrapper doesn't seem to scary if you can
>> transparently pass on everything apart from syscall(SYS_renameat2,
>> ...) ?
>
> I don't think I can in the general case; I don't know how many
> arguments every possible syscall takes.
The syscall wrapper in musl handles 6 additional arguments -
unconditionally. Based on that you might not need to interpret
anything - just extract 6 arguments and pass them on?
long syscall(long n, ...)
{
va_list ap;
syscall_arg_t a,b,c,d,e,f;
va_start(ap, n);
a=va_arg(ap, syscall_arg_t);
b=va_arg(ap, syscall_arg_t);
c=va_arg(ap, syscall_arg_t);
d=va_arg(ap, syscall_arg_t);
e=va_arg(ap, syscall_arg_t);
f=va_arg(ap, syscall_arg_t);
va_end(ap);
return __syscall_ret(__syscall(n,a,b,c,d,e,f));
}
More information about the Openembedded-core
mailing list