Re: interpreting semantics of ipc system call

From: David Daney
Date: Wed Sep 29 2010 - 18:16:39 EST


On 09/29/2010 03:03 PM, Andreas Saebjoernsen wrote:
We are developing a simulator that can simulate any specimen x86 linux program.
Our simulator has a simulated memory, unlike the concrete memory state of
tools like Valgrind, so that we can do concrete symbolic execution. Instead of
reimplementing the system calls we marshal the system calls called by
the specimen.

I am currently working on marshaling calls to the ipc system call (system
call 117) which has the following signature

int ipc(unsigned int call, int first, int second, int third, void
*ptr, long fifth)

I have a problem interpreting what the size is of the data structure
pointed to by
the 'void*', and I have been unable to locate good documentation or code on the
semantics of this system call.
>
> Could you please help me interpret the size of the data structure
> pointed to by the
> 'void*' or point me to documentation/code for the ipc system call?

man 2 {ipc,msgctl,msgget,msgrcv,msgsnd,semctl,semget,semop,semtimedop,shmat,shmctl,shmdt,shmget}

Also look at the source code for the system call in ipc/syscall.c and the glibc sources.

David Daney

--
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/