From b771b17ec95715c24715d730363f6f07bc46fd4f Mon Sep 17 00:00:00 2001 From: Anton Lindqvist Date: Tue, 28 Aug 2018 19:07:26 +0200 Subject: Add mandatory OpenBSD bits (#689) all: add openbsd support squash of the following commits: * openbsd: add mandatory bits * report: add OpenBSD support * executor: skip building kvm on OpenBSD * executor: add OpenBSD support Linking against libutil is necessary due to usage of openpty(3). * executor: fix typo in fail() message * fixup! report: add OpenBSD support * fixup! openbsd: add mandatory bits * fixup! openbsd: add mandatory bits * fixup! openbsd: add mandatory bits * fixup! report: add OpenBSD support * gometalinter: skip sys/openbsd --- pkg/report/testdata/openbsd/report/0 | 5 +++++ pkg/report/testdata/openbsd/report/1 | 26 ++++++++++++++++++++++++++ pkg/report/testdata/openbsd/report/2 | 24 ++++++++++++++++++++++++ pkg/report/testdata/openbsd/report/3 | 5 +++++ pkg/report/testdata/openbsd/report/4 | 19 +++++++++++++++++++ pkg/report/testdata/openbsd/report/5 | 2 ++ 6 files changed, 81 insertions(+) create mode 100644 pkg/report/testdata/openbsd/report/0 create mode 100644 pkg/report/testdata/openbsd/report/1 create mode 100644 pkg/report/testdata/openbsd/report/2 create mode 100644 pkg/report/testdata/openbsd/report/3 create mode 100644 pkg/report/testdata/openbsd/report/4 create mode 100644 pkg/report/testdata/openbsd/report/5 (limited to 'pkg/report/testdata') diff --git a/pkg/report/testdata/openbsd/report/0 b/pkg/report/testdata/openbsd/report/0 new file mode 100644 index 000000000..bb002c04d --- /dev/null +++ b/pkg/report/testdata/openbsd/report/0 @@ -0,0 +1,5 @@ +TITLE: uvm_fault: vn_writechk + +login: uvm_fault(0xffffff0018def850, 0x50, 0, 1) -> e + kernel: page fault trap, code=0 + Stopped at vn_writechk+0x13: testb $0x1,0x50(%rax) diff --git a/pkg/report/testdata/openbsd/report/1 b/pkg/report/testdata/openbsd/report/1 new file mode 100644 index 000000000..51b7dd62f --- /dev/null +++ b/pkg/report/testdata/openbsd/report/1 @@ -0,0 +1,26 @@ +TITLE: panic: cleaned vnode isn't + +login: cleaned vnode: 0xffffff001742a5c0, type VBAD, use 0, write 0, hold 0, + tag VT_UFS, ino 26028, on dev 4, 0 flags 0x100, effnlink 1, nlink 1 + mode 0177755, owner 0, group 0, size 0 + panic: cleaned vnode isn't + Stopped at db_enter+0xa: popq %rbp + TID PID UID PRFLAGS PFLAGS CPU COMMAND + *329861 4439 0 0x2 0 0K syz-executor1 + db_enter() at db_enter+0xa + panic() at panic+0x147 + getnewvnode() at getnewvnode+0x3bc + ffs_vget(ffff80000e400558,ffff80000e400580,ffffff000e5a7e20) at ffs_vget+0xc1 + ufs_lookup() at ufs_lookup+0xee3 + VOP_LOOKUP(ffffff001bf4d758,ffff80000e400530,ffffff001bf4d758) at VOP_LOOKUP+0x + 56 + vfs_lookup(ffff80000e400568) at vfs_lookup+0x3c1 + namei(ffff80000e400530) at namei+0x2f4 + dofstatat(280,ffff80000e3b12a0,0,ffff80000e400750,7f7ffffe3bd8) at dofstatat+0x + 93 + syscall(0) at syscall+0x489 + Xsyscall_untramp(6,0,0,0,0,28) at Xsyscall_untramp+0xe4 + end of kernel + end trace frame: 0x7f7ffffe40b0, count: 4 + https://www.openbsd.org/ddb.html describes the minimum info required in bug + reports. Insufficient info makes it difficult to find and fix bugs. diff --git a/pkg/report/testdata/openbsd/report/2 b/pkg/report/testdata/openbsd/report/2 new file mode 100644 index 000000000..e2e017429 --- /dev/null +++ b/pkg/report/testdata/openbsd/report/2 @@ -0,0 +1,24 @@ +TITLE: pool: double put: mbufpl + +panic: pool_do_put: mbufpl: double pool_put: 0xffffff001d506200 +Stopped at db_enter+0xa: popq %rbp + TID PID UID PRFLAGS PFLAGS CPU COMMAND +*350399 57238 0 0 0x4000000 0 syz-executor1 +db_enter() at db_enter+0xa +panic() at panic+0x147 +pool_do_put(ffffff001d506200,ffffffff81eacbe8) at pool_do_put+0x2e2 +pool_put(fecbcf835145a619,ffffff001d506200) at pool_put+0x37 +m_free(ffffff001d506200) at m_free+0x11e +m_freem(2d) at m_freem+0x2d +soreceive(38a,ffffff001a63c930,0,0,ffff80000e423648,ffffff001071db90) at sorece +ive+0x1fc +recvit(ffff80000e2b7050,ffff80000e4236e0,0,ffff80000e4236f8,12eb78e821c8) at re +cvit+0x253 +sys_recvfrom(ffff80000e423780,ffff80000e2b7050,ffff80000e315170) at sys_recvfro +m+0xbc +syscall(0) at syscall+0x3e4 +Xsyscall_untramp(6,0,0,0,0,0) at Xsyscall_untramp+0xe4 +end of kernel +end trace frame: 0x12eb78e82220, count: 4 +https://www.openbsd.org/ddb.html describes the minimum info required in bug +reports. Insufficient info makes it difficult to find and fix bugs. diff --git a/pkg/report/testdata/openbsd/report/3 b/pkg/report/testdata/openbsd/report/3 new file mode 100644 index 000000000..ed1b9ffc3 --- /dev/null +++ b/pkg/report/testdata/openbsd/report/3 @@ -0,0 +1,5 @@ +TITLE: kernel: page fault trap, code=0 + +login: + kernel: page fault trap, code=0 + Stopped at vn_writechk+0x13: testb $0x1,0x50(%rax) diff --git a/pkg/report/testdata/openbsd/report/4 b/pkg/report/testdata/openbsd/report/4 new file mode 100644 index 000000000..9cb43cb91 --- /dev/null +++ b/pkg/report/testdata/openbsd/report/4 @@ -0,0 +1,19 @@ +TITLE: pool: free list modified: knotepl + +panic: pool_do_get: knotepl free list modified: page 0xffffff0016069000; item addr 0xffffff00160699b8; offset 0x10=0x15c9ef10 +Stopped at db_enter+0xa: popq %rbp + TID PID UID PRFLAGS PFLAGS CPU COMMAND +*261118 11352 0 0 0x4000000 0 syz-executor1 +db_enter() at db_enter+0xa +panic() at panic+0x147 +pool_do_get(1,ffffffff81e8e708,0) at pool_do_get+0x3e9 +pool_get(ffff80000e31f730,d) at pool_get+0x77 +kqueue_register(4,16,ffff80000e44f1f8) at kqueue_register+0x2ab +sys_kevent(ffff80000e44f280,ffff80000e31f730,ffff80000e2ace90) at sys_kevent+0x +207 +syscall(0) at syscall+0x3e4 +Xsyscall_untramp(6,0,0,0,0,0) at Xsyscall_untramp+0xe4 +end of kernel +end trace frame: 0x171c1a028b50, count: 7 +https://www.openbsd.org/ddb.html describes the minimum info required in bug +reports. Insufficient info makes it difficult to find and fix bugs. diff --git a/pkg/report/testdata/openbsd/report/5 b/pkg/report/testdata/openbsd/report/5 new file mode 100644 index 000000000..fd5008393 --- /dev/null +++ b/pkg/report/testdata/openbsd/report/5 @@ -0,0 +1,2 @@ + +reorder_kernel: kernel relinking failed; see /usr/share/relink/kernel/KCOV/relink.log -- cgit mrf-deployment