| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Because there is not a proper prctl syscall but only variants, it happens that
the logic to infer the number of syscall argument doesn't work (cf.
callArgSizes in pkg/compiler/gen.go). As a result, the kernel rejects multiple
prctl calls by returning -EINVAL because the fifth argument is not zero:
* PR_MCE_KILL
* PR_MCE_KILL_GET
* PR_SET_MM
* PR_SET_NO_NEW_PRIVS
* PR_GET_NO_NEW_PRIVS
* PR_GET_THP_DISABLE
* PR_SET_THP_DISABLE
* PR_GET_SPECULATION_CTRL
* PR_SET_SPECULATION_CTRL
Fix this by adding a new dummy prctl variant with all 5 arguments.
Signed-off-by: Mickaël Salaün <mic@linux.microsoft.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Apply ignore_return to semctl$GETVAL which produces random errno
values on linux and freebsd.
2. Apply ignore_return to prctl and remove the custom code in executor.
3. Remove the custom errno ignoring code in fuchsia executor.
The calls are already marked as ignore_return, so this is just a leftover.
4. Only reset errno for ignore_return.
The syscall can still return a resource (maybe).
We only need to reset errno for fallback coverage.
|
| |
|
|
|
| |
We had these hard-coded for fuchsia and linux accordingly.
Replace with call attributes.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
| |
See the discussion on #1493.
These args are actually intptr's.
|
| | |
|
| | |
|
| |
|
|
| |
Use one syscall per command, refine arguments, etc.
|
| |
|