|
From: Nathan N. <nn...@um...> - 2003-04-12 16:32:21
|
Ok. I'll see what I can come up with and will send you a diff.
Right now, I'm just trying to get familiar enough with vg to understand
to start looking at some of the code and understand why I'm getting
unitialized errors in places that sure look like it's initialized...
Going to experiment some more to make sure it's not my misunderstanding
something.
Just to make certain of one thing - if you have:
int somefunc(void)
{
char x[20];
if ( x[0] ... )
{
}
}
That shouldn't trigger an unitialized access should it?
-- Nathan
On Sat, 2003-04-12 at 11:25, Julian Seward wrote:
> On Saturday 12 April 2003 2:47 pm, Nathan Neulinger wrote:
> > Looking to try valgrinding the openafs user space tools and file server
> > code. At a minimum, I needed to add
> >
> > case __NR_afs_syscall: /* syscall 137 */
> > MAYBE_PRINTF("afs ( )\n");
> > KERNEL_DO_SYSCALL(tid,res);
> > break;
> >
> >
> > What I'm wondering is - how much analysis code do y'all want in there...
> > I can flesh out alot of the behavior of that system call, but are you
> > interested in having it in there?
>
> Well, there's a distinction to be made between _want_ and _need_.
> At the bare minimum, you _must_ say how the state of memory is
> altered after the syscall, otherwise memory checking won't work
> correctly. You need to tell V about changes in memory permissions
> after the call.
>
> Optionally -- and this is done with almost all syscalls -- you can
> add some stuff which checks addressibility & definedness of memory
> passed to the system call. This is nice to have -- it enables
> V to tell people to see when they are passing garbage to syscalls
> -- but it isn't per se essential.
>
> I'd rather have as much detail as possible, since that makes it
> most useful to people debugging code with afs syscalls in, including
> you :)
>
> J
--
------------------------------------------------------------
Nathan Neulinger EMail: nn...@um...
University of Missouri - Rolla Phone: (573) 341-4841
Computing Services Fax: (573) 341-4216
|