Just an update, I've decided to try and invoke the syslog system call
inside vdso. It seems this *should* work
Code:
notrace int __vdso_gettimeofday(struct timeval *tv, struct timezone *tz)
{
+ my_syslog(0, "NEIL getttime", 10);
but I think I was crafting it wrong and instead of
Code:
static ssize_t my_syslog(int fd, const void *buf, int size)
{
ssize_t ret;
asm volatile
(
"syscall"
// outputs
: "=a" (ret)
// inputs
: "0"(103), "D"(fd), "S"(buf), "d"(size)
: "cc", "rcx", "memory"
);
return ret;
}
should be maybe:
Code:
static notrace long my_syslog(long fd, const void *buf, long size)
{
long ret;
asm(
"call VDSO32_vsyscall \n"
: "=a" (ret)
: "0" (103), "g" (fd), "c" (buf), "d" (size)
: "memory", "edx");
return ret;
}
will update if I get any joy out of this. There has to be some way to get
some debug out of vdso... 8)
tx
neil