* interpreting semantics of ipc system call
@ 2010-09-29 22:03 Andreas Saebjoernsen
2010-09-29 22:16 ` David Daney
2010-09-30 10:04 ` Américo Wang
0 siblings, 2 replies; 5+ messages in thread
From: Andreas Saebjoernsen @ 2010-09-29 22:03 UTC (permalink / raw)
To: linux-kernel
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?
kind regards,
Andreas
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: interpreting semantics of ipc system call
2010-09-29 22:03 interpreting semantics of ipc system call Andreas Saebjoernsen
@ 2010-09-29 22:16 ` David Daney
2010-09-30 10:04 ` Américo Wang
1 sibling, 0 replies; 5+ messages in thread
From: David Daney @ 2010-09-29 22:16 UTC (permalink / raw)
To: Andreas Saebjoernsen; +Cc: linux-kernel
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: interpreting semantics of ipc system call
2010-09-29 22:03 interpreting semantics of ipc system call Andreas Saebjoernsen
2010-09-29 22:16 ` David Daney
@ 2010-09-30 10:04 ` Américo Wang
2010-09-30 11:37 ` Arnd Bergmann
1 sibling, 1 reply; 5+ messages in thread
From: Américo Wang @ 2010-09-30 10:04 UTC (permalink / raw)
To: Andreas Saebjoernsen; +Cc: linux-kernel
On Wed, Sep 29, 2010 at 03:03:11PM -0700, 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.
Take a look at ipc/syscall.c, that pointer will be interpreted to different
data structures when you pass different arguments to 'call'.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: interpreting semantics of ipc system call
2010-09-30 10:04 ` Américo Wang
@ 2010-09-30 11:37 ` Arnd Bergmann
2010-09-30 23:29 ` Andreas Saebjoernsen
0 siblings, 1 reply; 5+ messages in thread
From: Arnd Bergmann @ 2010-09-30 11:37 UTC (permalink / raw)
To: Américo Wang; +Cc: Andreas Saebjoernsen, linux-kernel
On Thursday 30 September 2010, Américo Wang wrote:
> On Wed, Sep 29, 2010 at 03:03:11PM -0700, 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.
>
>
> Take a look at ipc/syscall.c, that pointer will be interpreted to different
> data structures when you pass different arguments to 'call'.
Right. Note that you can ignore the version field for all practical
purposes and consider it constant.
Arnd
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: interpreting semantics of ipc system call
2010-09-30 11:37 ` Arnd Bergmann
@ 2010-09-30 23:29 ` Andreas Saebjoernsen
0 siblings, 0 replies; 5+ messages in thread
From: Andreas Saebjoernsen @ 2010-09-30 23:29 UTC (permalink / raw)
To: Arnd Bergmann; +Cc: Américo Wang, linux-kernel
Thank you! I am now implementing support for this system call. Looking at the
data structures that the 'void*' can represent it will probably take a
some time,
but the semantics is clear.
kind regards,
Andreas
On Thu, Sep 30, 2010 at 4:37 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Thursday 30 September 2010, Américo Wang wrote:
>> On Wed, Sep 29, 2010 at 03:03:11PM -0700, 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.
>>
>>
>> Take a look at ipc/syscall.c, that pointer will be interpreted to different
>> data structures when you pass different arguments to 'call'.
>
> Right. Note that you can ignore the version field for all practical
> purposes and consider it constant.
>
> Arnd
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-09-30 23:29 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-29 22:03 interpreting semantics of ipc system call Andreas Saebjoernsen
2010-09-29 22:16 ` David Daney
2010-09-30 10:04 ` Américo Wang
2010-09-30 11:37 ` Arnd Bergmann
2010-09-30 23:29 ` Andreas Saebjoernsen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox