aboutsummaryrefslogtreecommitdiffstats
path: root/executor
Commit message (Collapse)AuthorAgeFilesLines
* executor: disable clang-format for some partsDmitry Vyukov2018-07-271-8/+8
| | | | | clang-format badly mishandles this part, moreover different versions mishandle it differently.
* pkg/csource: add option to trace syscall resultsDmitry Vyukov2018-07-271-0/+11
| | | | This will be needed for testing of generated programs.
* pkg/csource: tidy generated codeDmitry Vyukov2018-07-278-33/+143
| | | | | | | | | | | 1. Remove unnecessary includes. 2. Remove thunk function in threaded mode. 3. Inline syscalls into main for the simplest case. 4. Define main in common.h rather than form with printfs. 5. Fix generation for repeat mode (we had 2 infinite loops: in main and in loop). 6. Remove unused functions (setup/reset_loop, setup/reset_test, sandbox_namespace, etc).
* executor: simplify event_timedwaitDmitry Vyukov2018-07-272-30/+19
| | | | | | We always have current_time_ms in event_timedwait so use it instead of manual clock_gettime calls which tend to be bulkier.
* executor: ignore unshare errors in setuid sandboxDmitry Vyukov2018-07-271-4/+8
| | | | We already do this in sandbox=none, but forgot about setuid.
* executor: remove unused fileDmitry Vyukov2018-07-251-240/+0
| | | | Leftover after "executor: overhaul".
* executor: fix strict aliasing violationsDmitry Vyukov2018-07-241-7/+16
| | | | | | | | | test_copyin does bad things. Fix that. executor/test.h: In function ‘int test_copyin()’: executor/common.h:299:16: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] *(type*)(addr) = (type)(val); \ ^
* executor: overhaulDmitry Vyukov2018-07-2435-7252/+6620
| | | | | | | | | | | | | | | | | Make as much code as possible shared between all OSes. In particular main is now common across all OSes. Make more code shared between executor and csource (in particular, loop function and threaded execution logic). Also make loop and threaded logic shared across all OSes. Make more posix/unix code shared across OSes (e.g. signal handling, pthread creation, etc). Plus other changes along similar lines. Also support test OS in executor (based on portable posix) and add 4 arches that cover all execution modes (fork server/no fork server, shmem/no shmem). This change paves way for testing of executor code and allows to preserve consistency across OSes and executor/csource.
* executor: fix typo in commentAnton Lindqvist2018-07-231-1/+1
|
* executor: ensure RLIMIT_NOFILE is greater than kInPipeFdAnton Lindqvist2018-07-231-0/+6
|
* executor: add missing cover_size_ptr fieldAnton Lindqvist2018-07-232-0/+2
|
* sys/linux/socket_netlink_route: add specific policies for IFLA_LINKINFOHangbin Liu2018-07-171-5/+5
| | | | | | | | Add interface specified policies for IFLA_LINKINFO. I only added the interfaces we create in initial setup. Remain other types of interfaces in the TODO list. Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
* sys/akaros: add a bunch of global files for akarosDmitry Vyukov2018-07-161-2/+146
|
* sys/akaros: fix signatures of file syscallsDmitry Vyukov2018-07-161-1/+1
| | | | Most of them differ and accept path length and/or pid.
* executor: add timeout for akarosDmitry Vyukov2018-07-161-1/+13
|
* sys/akaros: disable init_arsc syscallDmitry Vyukov2018-07-161-3/+2
| | | | It unconditionally crashes kernel now.
* pkg/host: add "network devices" featureDmitry Vyukov2018-07-132-1/+11
| | | | | | Linux executor sets up some network devices for testing, detect when that's supported on the machine and don't do it if it's not supported.
* sys/linux: regenerate filesDmitry Vyukov2018-07-131-3/+3
|
* sys/linux: improve fuse descriptionsDmitry Vyukov2018-07-121-15/+125
|
* sys/linux: implement fuse as normal syscallsDmitry Vyukov2018-07-102-87/+25
| | | | | Remove syz_fuse* and implement them as normal syscalls. We not have enough expressive power to form mount options.
* sys/linux: use fmt in filesystem optionsDmitry Vyukov2018-07-091-5/+5
| | | | | We currently generate poor formatted intergers, generate proper integers using the new fmt type.
* sys/linux: use negative consts where usefulDmitry Vyukov2018-07-091-5/+5
|
* sys/linux: refine 9p descriptionsDmitry Vyukov2018-07-081-5/+5
| | | | | | | RVERSION needs to use 0xffff tag, otherwise parsing fails. Use only tags 1 and 2. They are densely allocated, so most of the time it's 1. And it needs to be correct in multiple replies for mount to succeed. So limit tag space.
* executor: tweaks for better 9p testingDmitry Vyukov2018-07-081-3/+13
| | | | See the added comments.
* sys/linux: modernize cgroup descriptionsDmitry Vyukov2018-07-081-5/+5
|
* sys/linux: modernize selinux descriptionsDmitry Vyukov2018-07-081-5/+5
|
* sys/linux: extend 9p descriptionsDmitry Vyukov2018-07-081-10/+195
| | | | Add actual protocol messages.
* prog, pkg/compiler: support fmt typeDmitry Vyukov2018-07-086-54/+98
| | | | | fmt type allows to convert intergers and resources to string representation.
* executor: executor fix fuchsia buildDmitry Vyukov2018-07-071-0/+1
|
* sys/linux: refine vfat/msdos optionsDmitry Vyukov2018-07-071-5/+5
|
* sys/fuchsia: Update Fuchsia syscalls.Julia Hansbrough2018-07-071-4/+38
| | | | | | | | | Updates cover * zx_vmo_create * zx_clock_get_monotonic * hypervisor- and vCPU-related syscalls * system_get_features * some DDK syscalls
* sys/linux: add 9p descriptionsDmitry Vyukov2018-07-061-10/+40
| | | | Only mount for now.
* sys/akaros: add all syscallsDmitry Vyukov2018-07-062-23/+58
|
* sys/linux: add mount$bpfDmitry Vyukov2018-07-061-10/+15
| | | | Plus some minor assorted fixes.
* executor: repair akaros supportDmitry Vyukov2018-07-052-57/+110
|
* executor: remove unnecessary parensDmitry Vyukov2018-07-051-1/+1
|
* executor: extend debug output and diagnosticsDmitry Vyukov2018-07-051-1/+2
|
* sys/linux: add rtc descriptionChi Pham2018-07-021-10/+125
|
* pkg/compiler: check for unused declarationsDmitry Vyukov2018-06-302-14/+27
| | | | | Error on unused structs/unions/resources/flags. Finds tons of bugs.
* sys/fuchsia: remove ZX_POL_NEW_EVPAIRDmitry Vyukov2018-06-301-2/+2
| | | | It was removed from zircon.
* executor: include more headers on fuchsiaDmitry Vyukov2018-06-301-0/+2
| | | | | Since we are taking address of functions in syscall table, we need all headers even if we don't use them directly.
* pkg/csource: don't use pthread_cond_timedwait for fuchsiaDmitry Vyukov2018-06-301-25/+8
| | | | We removed it in executor, do the same in csource.
* executor: fix zx_log_read return valueDmitry Vyukov2018-06-301-1/+4
| | | | It does not return status and breaks fallback signal.
* prog: detect when flags are a bitmaskDmitry Vyukov2018-06-307-13/+13
|
* sys/fuchsia: add few new syscallsDmitry Vyukov2018-06-291-4/+14
|
* executor: improve fuchsia fallback coverageDmitry Vyukov2018-06-291-2/+2
|
* executor, pkg/ipc: support output over pipesDmitry Vyukov2018-06-293-36/+65
|
* executor: fix pid check after forkDmitry Vyukov2018-06-291-2/+2
|
* pkg/csource: support fuchsiaDmitry Vyukov2018-06-296-43/+382
| | | | Lots of assorted heavylifting to support csource on fuchsia.
* sys/fuchsia: add pipe syscallDmitry Vyukov2018-06-291-4/+6
|