|
From: nagendra ps <nag...@gm...> - 2016-08-12 11:32:00
|
Hi All, We have a few custom syscalls which take in more than 8 arguments. >From what I see in the valgrind code, it only supports a maximum of 8 arguments. For the time being, is there a hack to tell valgrind to not intercept any syscalls... i.e bypass syscalls and check for corruption in other user space allocation only ? Or, if you could point me at the right places in the code to put in such a hack, I could do the code change myself and try it out. Please suggest. Thanks, Nagendra |
|
From: Ivo R. <iv...@iv...> - 2016-08-12 11:59:49
|
2016-08-12 13:31 GMT+02:00 nagendra ps <nag...@gm...>: > We have a few custom syscalls which take in more than 8 arguments. > >From what I see in the valgrind code, it only supports a maximum of 8 > arguments. > > For the time being, is there a hack to tell valgrind to not intercept > any syscalls... i.e bypass syscalls and check for corruption in other > user space allocation only? > There is no such "hack". Intercepting (and sometimes even replacing) client syscalls is a core Valgrind functionality. Valgrind cannot function properly without that. > Or, if you could point me at the right places in the code to put in > such a hack, I could do the code change myself and try it out. > Start with directory coregrind/m_syswrap, file syswrap-main.c. There are comments explaining the design and ideas behind the functionality. Also have a look at the corresponding syscall-*.S and syswrap-*.c. Provided the additional syscall arguments are passed on the stack, you should be fine, then. Kind regards, I. |
|
From: nagendra ps <nag...@gm...> - 2016-08-12 12:31:19
|
thanks Ivo. I will give it a try. Regards, Nagendra On Fri, Aug 12, 2016 at 5:29 PM, Ivo Raisr <iv...@iv...> wrote: > > > 2016-08-12 13:31 GMT+02:00 nagendra ps <nag...@gm...>: >> >> We have a few custom syscalls which take in more than 8 arguments. >> >From what I see in the valgrind code, it only supports a maximum of 8 >> arguments. >> >> For the time being, is there a hack to tell valgrind to not intercept >> any syscalls... i.e bypass syscalls and check for corruption in other >> user space allocation only? > > > There is no such "hack". Intercepting (and sometimes even replacing) > client syscalls is a core Valgrind functionality. Valgrind cannot function > properly without that. > >> >> Or, if you could point me at the right places in the code to put in >> such a hack, I could do the code change myself and try it out. > > > Start with directory coregrind/m_syswrap, file syswrap-main.c. There are > comments explaining the design and ideas behind the functionality. > Also have a look at the corresponding syscall-*.S and syswrap-*.c. > > Provided the additional syscall arguments are passed on the stack, you > should be fine, then. > > Kind regards, > I. |