DynamoRIO / drmemory

Memory Debugger for Windows, Linux, Mac, and Android
Other
2.44k stars 262 forks source link

[linux] fill in rest of system call table #92

Open derekbruening opened 9 years ago

derekbruening commented 9 years ago

From derek.br...@gmail.com on December 10, 2010 17:57:32

PR 406302

I wrote a new script to lay out an initial linux system call table but there are many details missing. For the missing writes we can add them lazily as they'll show up as false positives. But the missing reads will be false negatives and we should proactively add those.

xref PR 416456 driving completion of some syscall entries of particular note from that case is fcntl64: even when the sys_ declaration shows an arg it may be optional (xref PR 406355)

Update on 2009/07/07 20:39:04

     PR 406302: fill in more of linux syscall table
     * added SYS__sysctl special-case handling
     * added SYS_fcntl* 3rd arg being ignored in certain cases

     PR 425498: sbb reg,reg defines reg even if undefined previously
     * from PR 416456 though turned out not to cause false pos there
     * fix here will have to be more sophisticated once we have PR 425622

Update on 2009/07/14 09:43:51

     PR 406302: [linux] fill in rest of system call table
     * added stats on syscalls executed so we can approach false positives
       from that angle

Update on 2009/07/14 15:43:55

     PR 406302: [linux] fill in rest of system call table
     Filled in data for 7 syscalls that were incomplete.
     * ioctl: very painful
     * socketcall: painful
     * poll
     * rt_sigaction
     * mmap2
     * stat64
     * lstat64

Update on 2009/07/23 12:36:08

     Fixed errors that have cropped up on spec bmarks:

     PR 447413: 75 UNADDR on spec bmarks: mmap merged w/ DR bss
     * mem walk looks for region that starts inside DR lib but extends beyond
       (merged by kernel) and splits it up

     PR 406302: [linux] fill in rest of system call table
     * sigaction struct often doesn't have sa_restorer set if flags doesn't have
       SA_RESTORER => special-cased it

Update on 2010/02/03 07:15:31

PR 406302: [linux] fill in rest of system call table

I tested a few client-server sample apps, but do not have tests for all the syscall paths here. I filed PR 519781 to cover adding syscall tests.

Update on 2010/02/18 20:11:48

PR 406302: [linux] fill in rest of system call table

Original issue: http://code.google.com/p/drmemory/issues/detail?id=92

derekbruening commented 9 years ago

From bruen...@google.com on February 17, 2013 08:11:12

Labels: GoodContrib GoodFirstBug