diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2020-03-15 21:16:13 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-03-17 21:19:13 +0100 |
| commit | 924f7606047a430a9b313c135b782e1e8f852bec (patch) | |
| tree | 649fbf186af5268815f16884875f92d948ad57b0 /executor/syscalls.h | |
| parent | 5de34a784c610ab08888c185dd0c09f542d62d4f (diff) | |
pkg/compiler: ensure consistency of syscall argument types
Ensure that we don't have conflicting sizes for the same argument
of the same syscall, e.g.:
foo$1(a int16)
foo$2(a int32)
This is useful for several reasons:
- we will be able avoid morphing syscalls into other syscalls
- we will be able to figure out more precise sizes for args
(lots of them are implicitly intptr, which is the largest
type on most important arches)
- found few bugs in linux descriptions
Update #477
Update #502
Diffstat (limited to 'executor/syscalls.h')
| -rw-r--r-- | executor/syscalls.h | 110 |
1 files changed, 52 insertions, 58 deletions
diff --git a/executor/syscalls.h b/executor/syscalls.h index c2af7244e..054c62f0b 100644 --- a/executor/syscalls.h +++ b/executor/syscalls.h @@ -2610,7 +2610,6 @@ const call_t syscalls[] = { {"ioctl$CAPI_NCCI_OPENCOUNT", 54}, {"ioctl$CAPI_REGISTER", 54}, {"ioctl$CAPI_SET_FLAGS", 54}, - {"ioctl$CDROMAUDIOBUFSIZ", 54}, {"ioctl$CDROMCLOSETRAY", 54}, {"ioctl$CDROMEJECT", 54}, {"ioctl$CDROMEJECT_SW", 54}, @@ -5957,7 +5956,6 @@ const call_t syscalls[] = { {"ioctl$CAPI_NCCI_OPENCOUNT", 16}, {"ioctl$CAPI_REGISTER", 16}, {"ioctl$CAPI_SET_FLAGS", 16}, - {"ioctl$CDROMAUDIOBUFSIZ", 16}, {"ioctl$CDROMCLOSETRAY", 16}, {"ioctl$CDROMEJECT", 16}, {"ioctl$CDROMEJECT_SW", 16}, @@ -9301,7 +9299,6 @@ const call_t syscalls[] = { {"ioctl$CAPI_NCCI_OPENCOUNT", 54}, {"ioctl$CAPI_REGISTER", 54}, {"ioctl$CAPI_SET_FLAGS", 54}, - {"ioctl$CDROMAUDIOBUFSIZ", 54}, {"ioctl$CDROMCLOSETRAY", 54}, {"ioctl$CDROMEJECT", 54}, {"ioctl$CDROMEJECT_SW", 54}, @@ -12594,7 +12591,6 @@ const call_t syscalls[] = { {"ioctl$CAPI_NCCI_OPENCOUNT", 29}, {"ioctl$CAPI_REGISTER", 29}, {"ioctl$CAPI_SET_FLAGS", 29}, - {"ioctl$CDROMAUDIOBUFSIZ", 29}, {"ioctl$CDROMCLOSETRAY", 29}, {"ioctl$CDROMEJECT", 29}, {"ioctl$CDROMEJECT_SW", 29}, @@ -15882,7 +15878,6 @@ const call_t syscalls[] = { {"ioctl$CAPI_NCCI_OPENCOUNT", 5015}, {"ioctl$CAPI_REGISTER", 5015}, {"ioctl$CAPI_SET_FLAGS", 5015}, - {"ioctl$CDROMAUDIOBUFSIZ", 5015}, {"ioctl$CDROMCLOSETRAY", 5015}, {"ioctl$CDROMEJECT", 5015}, {"ioctl$CDROMEJECT_SW", 5015}, @@ -19086,7 +19081,6 @@ const call_t syscalls[] = { {"ioctl$CAPI_NCCI_OPENCOUNT", 54}, {"ioctl$CAPI_REGISTER", 54}, {"ioctl$CAPI_SET_FLAGS", 54}, - {"ioctl$CDROMAUDIOBUFSIZ", 54}, {"ioctl$CDROMCLOSETRAY", 54}, {"ioctl$CDROMEJECT", 54}, {"ioctl$CDROMEJECT_SW", 54}, @@ -22424,16 +22418,6 @@ const call_t syscalls[] = { {"foo$fmt4", 0}, {"foo$fmt5", 0}, {"minimize$0", 0}, - {"mutate$array", 0}, - {"mutate$array2", 0}, - {"mutate$buffer", 0}, - {"mutate$flags", 0}, - {"mutate$flags2", 0}, - {"mutate$flags3", 0}, - {"mutate$integer", 0}, - {"mutate$integer2", 0}, - {"mutate$rangedbuffer", 0}, - {"mutate$union", 0}, {"mutate0", 0}, {"mutate1", 0}, {"mutate2", 0}, @@ -22443,6 +22427,16 @@ const call_t syscalls[] = { {"mutate6", 0}, {"mutate7", 0}, {"mutate8", 0}, + {"mutate_array", 0}, + {"mutate_array2", 0}, + {"mutate_buffer", 0}, + {"mutate_flags", 0}, + {"mutate_flags2", 0}, + {"mutate_flags3", 0}, + {"mutate_integer", 0}, + {"mutate_integer2", 0}, + {"mutate_rangedbuffer", 0}, + {"mutate_union", 0}, {"prctl$PR_SET_SECCOMP", 0}, {"seccomp", 0}, {"serialize0", 0}, @@ -22480,8 +22474,6 @@ const call_t syscalls[] = { {"test$csum_ipv6_udp", 0}, {"test$end0", 0}, {"test$end1", 0}, - {"test$excessive_args1", 0}, - {"test$excessive_args2", 0}, {"test$excessive_fields1", 0}, {"test$hint_data", 0}, {"test$int", 0}, @@ -22492,7 +22484,6 @@ const call_t syscalls[] = { {"test$length12", 0}, {"test$length13", 0}, {"test$length14", 0}, - {"test$length15", 0}, {"test$length16", 0}, {"test$length17", 0}, {"test$length18", 0}, @@ -22548,6 +22539,9 @@ const call_t syscalls[] = { {"test$union1", 0}, {"test$union2", 0}, {"test$vma0", 0}, + {"test_excessive_args1", 0}, + {"test_excessive_args2", 0}, + {"test_length15", 0}, {"unsupported$0", 0}, {"unsupported$1", 0}, @@ -22567,16 +22561,6 @@ const call_t syscalls[] = { {"foo$fmt4", 0}, {"foo$fmt5", 0}, {"minimize$0", 0}, - {"mutate$array", 0}, - {"mutate$array2", 0}, - {"mutate$buffer", 0}, - {"mutate$flags", 0}, - {"mutate$flags2", 0}, - {"mutate$flags3", 0}, - {"mutate$integer", 0}, - {"mutate$integer2", 0}, - {"mutate$rangedbuffer", 0}, - {"mutate$union", 0}, {"mutate0", 0}, {"mutate1", 0}, {"mutate2", 0}, @@ -22586,6 +22570,16 @@ const call_t syscalls[] = { {"mutate6", 0}, {"mutate7", 0}, {"mutate8", 0}, + {"mutate_array", 0}, + {"mutate_array2", 0}, + {"mutate_buffer", 0}, + {"mutate_flags", 0}, + {"mutate_flags2", 0}, + {"mutate_flags3", 0}, + {"mutate_integer", 0}, + {"mutate_integer2", 0}, + {"mutate_rangedbuffer", 0}, + {"mutate_union", 0}, {"prctl$PR_SET_SECCOMP", 0}, {"seccomp", 0}, {"serialize0", 0}, @@ -22623,8 +22617,6 @@ const call_t syscalls[] = { {"test$csum_ipv6_udp", 0}, {"test$end0", 0}, {"test$end1", 0}, - {"test$excessive_args1", 0}, - {"test$excessive_args2", 0}, {"test$excessive_fields1", 0}, {"test$hint_data", 0}, {"test$int", 0}, @@ -22635,7 +22627,6 @@ const call_t syscalls[] = { {"test$length12", 0}, {"test$length13", 0}, {"test$length14", 0}, - {"test$length15", 0}, {"test$length16", 0}, {"test$length17", 0}, {"test$length18", 0}, @@ -22691,6 +22682,9 @@ const call_t syscalls[] = { {"test$union1", 0}, {"test$union2", 0}, {"test$vma0", 0}, + {"test_excessive_args1", 0}, + {"test_excessive_args2", 0}, + {"test_length15", 0}, {"unsupported$0", 0}, {"unsupported$1", 0}, @@ -22711,16 +22705,6 @@ const call_t syscalls[] = { {"foo$fmt4", 0}, {"foo$fmt5", 0}, {"minimize$0", 0}, - {"mutate$array", 0}, - {"mutate$array2", 0}, - {"mutate$buffer", 0}, - {"mutate$flags", 0}, - {"mutate$flags2", 0}, - {"mutate$flags3", 0}, - {"mutate$integer", 0}, - {"mutate$integer2", 0}, - {"mutate$rangedbuffer", 0}, - {"mutate$union", 0}, {"mutate0", 0}, {"mutate1", 0}, {"mutate2", 0}, @@ -22730,6 +22714,16 @@ const call_t syscalls[] = { {"mutate6", 0}, {"mutate7", 0}, {"mutate8", 0}, + {"mutate_array", 0}, + {"mutate_array2", 0}, + {"mutate_buffer", 0}, + {"mutate_flags", 0}, + {"mutate_flags2", 0}, + {"mutate_flags3", 0}, + {"mutate_integer", 0}, + {"mutate_integer2", 0}, + {"mutate_rangedbuffer", 0}, + {"mutate_union", 0}, {"prctl$PR_SET_SECCOMP", 0}, {"seccomp", 0}, {"serialize0", 0}, @@ -22767,8 +22761,6 @@ const call_t syscalls[] = { {"test$csum_ipv6_udp", 0}, {"test$end0", 0}, {"test$end1", 0}, - {"test$excessive_args1", 0}, - {"test$excessive_args2", 0}, {"test$excessive_fields1", 0}, {"test$hint_data", 0}, {"test$int", 0}, @@ -22779,7 +22771,6 @@ const call_t syscalls[] = { {"test$length12", 0}, {"test$length13", 0}, {"test$length14", 0}, - {"test$length15", 0}, {"test$length16", 0}, {"test$length17", 0}, {"test$length18", 0}, @@ -22835,6 +22826,9 @@ const call_t syscalls[] = { {"test$union1", 0}, {"test$union2", 0}, {"test$vma0", 0}, + {"test_excessive_args1", 0}, + {"test_excessive_args2", 0}, + {"test_length15", 0}, {"unsupported$0", 0}, {"unsupported$1", 0}, @@ -22854,16 +22848,6 @@ const call_t syscalls[] = { {"foo$fmt4", 0}, {"foo$fmt5", 0}, {"minimize$0", 0}, - {"mutate$array", 0}, - {"mutate$array2", 0}, - {"mutate$buffer", 0}, - {"mutate$flags", 0}, - {"mutate$flags2", 0}, - {"mutate$flags3", 0}, - {"mutate$integer", 0}, - {"mutate$integer2", 0}, - {"mutate$rangedbuffer", 0}, - {"mutate$union", 0}, {"mutate0", 0}, {"mutate1", 0}, {"mutate2", 0}, @@ -22873,6 +22857,16 @@ const call_t syscalls[] = { {"mutate6", 0}, {"mutate7", 0}, {"mutate8", 0}, + {"mutate_array", 0}, + {"mutate_array2", 0}, + {"mutate_buffer", 0}, + {"mutate_flags", 0}, + {"mutate_flags2", 0}, + {"mutate_flags3", 0}, + {"mutate_integer", 0}, + {"mutate_integer2", 0}, + {"mutate_rangedbuffer", 0}, + {"mutate_union", 0}, {"prctl$PR_SET_SECCOMP", 0}, {"seccomp", 0}, {"serialize0", 0}, @@ -22910,8 +22904,6 @@ const call_t syscalls[] = { {"test$csum_ipv6_udp", 0}, {"test$end0", 0}, {"test$end1", 0}, - {"test$excessive_args1", 0}, - {"test$excessive_args2", 0}, {"test$excessive_fields1", 0}, {"test$hint_data", 0}, {"test$int", 0}, @@ -22922,7 +22914,6 @@ const call_t syscalls[] = { {"test$length12", 0}, {"test$length13", 0}, {"test$length14", 0}, - {"test$length15", 0}, {"test$length16", 0}, {"test$length17", 0}, {"test$length18", 0}, @@ -22978,6 +22969,9 @@ const call_t syscalls[] = { {"test$union1", 0}, {"test$union2", 0}, {"test$vma0", 0}, + {"test_excessive_args1", 0}, + {"test_excessive_args2", 0}, + {"test_length15", 0}, {"unsupported$0", 0}, {"unsupported$1", 0}, |
