1366 Commits

Author SHA1 Message Date
Andrey Konovalov
d18bfda0d4 Update setup_ubuntu-host_qemu-vm_x86-64-kernel.md 2017-09-08 13:24:54 +02:00
Andrey Konovalov
dffc4ce15b Merge pull request #372 from lwhsu/ubuntu-setup-fix
docs: add more prerequisites on ubuntu
2017-09-08 13:23:47 +02:00
Li-Wen Hsu
22f8272a4b
docs: add more prerequisites on ubuntu 2017-09-08 09:10:02 +08:00
Dmitry Vyukov
0ed1da4a12 prog: remove unused declaration 2017-09-05 19:02:12 +02:00
Dmitry Vyukov
3a866068b3 executor: fix 32-bit mode
The correct type is kernel long size, not user-space long size.
We approximate it with uint64.
2017-09-05 19:02:12 +02:00
Dmitry Vyukov
5060392c49 sys: use correct pointer size 2017-09-05 19:02:12 +02:00
Dmitry Vyukov
19cc67af5b sys: add new perf attribute flag 2017-09-05 19:02:12 +02:00
Dmitry Vyukov
e52bd33700 prog: move resource-related functions to a separate file 2017-09-05 19:02:12 +02:00
Dmitry Vyukov
eb45aa4244 prog, sys: move dictionary of special strings to sys
It is target-specific.
2017-09-05 19:02:12 +02:00
Dmitry Vyukov
58efb7c6a5 sys: improve timespec/timeval generation 2017-09-05 19:02:12 +02:00
Andrey Konovalov
fbc5f27a13 Update found_bugs.md 2017-09-05 16:23:00 +02:00
Dmitry Vyukov
ffe7e17368 prog, sys: move types to prog
Large overhaul moves syscalls and arg types from sys to prog.
Sys package now depends on prog and contains only generated
descriptions of syscalls.
Introduce prog.Target type that encapsulates all targer properties,
like syscall list, ptr/page size, etc. Also moves OS-dependent pieces
like mmap call generation from prog to sys.

Update #191
2017-09-05 15:52:42 +02:00
Dmitry Vyukov
4fc4702694 prog: dot-import sys
In preparation for moving sys types to prog to reduce later diffs.
2017-09-05 10:46:34 +02:00
Dmitry Vyukov
5db39ab953 sys: rename Call to Syscall
In preparation for moving sys types to prog
to avoid confusion between sys.Call and prog.Call.
2017-09-05 10:38:22 +02:00
Dmitry Vyukov
c34180fca0 pkg/compiler: assign Call.ID statically 2017-09-04 21:06:59 +02:00
Dmitry Vyukov
a27fcb3079 sys: use ptr64 type instead of ptr where necessary 2017-09-04 21:03:23 +02:00
Dmitry Vyukov
a29e1be6ff pkg/compiler: fix alignment calculation bug 2017-09-04 20:54:29 +02:00
Dmitry Vyukov
1c0d4caf7c sys: change BitfieldLast to BitfieldMiddle
That's the condition we always want.
Currently we always check:
t.BitfieldOffset() == 0 || t.BitfieldLast()
now can check just:
!t.BitfieldMiddle()
2017-09-04 20:51:56 +02:00
Dmitry Vyukov
b6e402dd48 sys: remove IntSignalno 2017-09-04 20:25:23 +02:00
Dmitry Vyukov
399addc875 sys, pkg/compiler: move padding computation to compiler
This makes types constant during execution, everything is precomputed.
2017-09-04 20:25:23 +02:00
Dmitry Vyukov
94e151ceb5 pkg/ast: prohibit empty strings
This is currently unsupported and unused.
2017-09-04 20:25:22 +02:00
Dmitry Vyukov
d878c4ff43 sys: minor fixes for statx and sigevent 2017-09-04 20:25:22 +02:00
Dmitry Vyukov
b5c5217623 pkg/ifuzz: use serializer
Simplifies code and reduces size of generated code from 820K to 310K.
2017-09-04 20:25:22 +02:00
Dmitry Vyukov
dbb49d0211 pkg/compiler: prohibit arrays of size 0
This is pointless and the only case that can yield 0 static type size.
2017-09-04 20:25:22 +02:00
Dmitry Vyukov
622a1ffd72 pkg/compiler: prohibit bitfields of size 0
They don't work the way C bitfields work.
So this will lead to confusion at least.
2017-09-04 20:25:22 +02:00
Dmitry Vyukov
291192c61b pkg/compiler: don't allow bitfields in unions, args and anon types 2017-09-04 20:25:22 +02:00
Dmitry Vyukov
e707c97f9a pkg/compiler: move bitfield marking from sys 2017-09-04 20:25:22 +02:00
Dmitry Vyukov
54a92e90e0 pkg/compiler: prohibit bitfields in syscall args 2017-09-04 20:25:22 +02:00
Dmitry Vyukov
740662e03a pkg/compiler: reserve in/out/inout/opt names 2017-09-04 20:25:22 +02:00
Dmitry Vyukov
a5c115a64b prog: move ptrSize const to test
It is used only by a single test. Remove it from non-test code.
2017-09-04 20:25:22 +02:00
Dmitry Vyukov
2cf0659df1 sys: don't assume vma size is 8
Use explicit size for vma.
This is the last use of hardcoded ptrSize in sys package.
2017-09-04 20:25:22 +02:00
Dmitry Vyukov
4ee497d22e pkg/compiler: use correct arch ptr size 2017-09-04 20:25:22 +02:00
Dmitry Vyukov
8c64b078d1 pkg/compiler: detect resources without ctors
Fixes #217
2017-09-04 20:25:22 +02:00
Dmitry Vyukov
b06c1bd324 pkg/compiler: verify validity of len targets
Update #217
2017-09-04 20:25:22 +02:00
Dmitry Vyukov
8094a4202f pkg/compiler: move checking code to a separate file 2017-09-04 20:25:22 +02:00
Dmitry Vyukov
f29b943c0b pkg/compiler: detect recursive struct declarations
Update #217
2017-09-04 20:25:22 +02:00
Dmitry Vyukov
f400a0da0f pkg/ast: fix struct comment parsing 2017-09-04 20:25:03 +02:00
Dmitry Vyukov
a54dce007d sys: allow custom size for PtrType
This is required to support ptr64 type.
2017-09-02 14:08:30 +02:00
Dmitry Vyukov
08c91ab698 sys: support ptr64 type
ptr64 is like ptr, but always takes 8 bytes of space.
Needed for some APIs. Unfortunately, most of these APIs
use buffer type, so we can't use ptr64 immidiately.
2017-09-02 13:44:28 +02:00
Dmitry Vyukov
9c995bedad sys: improve bpf descriptions 2017-09-02 13:38:16 +02:00
Dmitry Vyukov
2c0b7b7ff3 pkg/compiler: restore generation of unsupported syscalls
Unfortunately this is sitll needed, see the added comment.

Update #191
2017-09-02 13:21:47 +02:00
Dmitry Vyukov
a7206b24ca pkg/compiler: check and generate types
Move most of the logic from sysgen to pkg/compiler.

Update #217
2017-09-02 13:06:53 +02:00
Victor Chibotaru
aa51461a34 hints: add some more tests for DataArg 2017-09-01 18:14:53 +02:00
Andrey Konovalov
76bc1b9d35 sys: add AF_PACKET sockets description 2017-09-01 17:17:33 +02:00
Victor Chibotaru
d9a07bf6e9 hints: add new mutations and tests 2017-09-01 17:17:08 +02:00
Andrey Konovalov
70ab363e79 Update linux_kernel_reporting_bugs.md 2017-09-01 13:58:35 +02:00
Andrey Konovalov
83f1ca5484 Update linux_kernel_reporting_bugs.md 2017-09-01 13:55:37 +02:00
Dmitry Vyukov
4ccdd78294 sys: export struct/union attributes
Export struct/union attributes so that they can be filled in
by a different package.
2017-08-31 19:21:52 +02:00
Dmitry Vyukov
5a093b74f6 sys: change proc arguments to the format used by const/flags/len
All other types have optional underlying type as the last argument.
Proc have it as first. This creates very irregular syntax and
complicates parsing. Make type the last argument.

Note: this is a breaking change if you have descriptions on the side.
2017-08-31 14:31:21 +02:00
Thomas Garnier
ed7f95981b Fix reboot support for VM isolated
Do not fail a reboot if the reboot command returns an error. Reduces the
wait time per ssh commands to 30 seconds.

Signed-off-by: Thomas Garnier <thgarnie@google.com>
2017-08-30 19:30:38 +02:00