aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2020-01-17 16:59:20 +0100
committerDmitry Vyukov <dvyukov@google.com>2020-01-18 21:02:24 +0100
commit773117bf811a6e7f9d13bb966dc4956774e88207 (patch)
treeac62d3fb1612ab43cedf7e79725f36793eec3270
parent2ec9a3ad9a10a5e5653d65b3d7f430c978ce4d69 (diff)
tools/syz-check: also check arm/arm64
They mostly duplicate the warnings we already have for amd64/386. But uncovered few very interesting local things (e.g. epoll_event is packed only on amd64, so arm/arm64 layout is wrong, but 386 is correct because int64 alignment is different). Update #590
-rw-r--r--sys/linux/9p.txt.warn2
-rw-r--r--sys/linux/binfmt.txt.warn2
-rw-r--r--sys/linux/bpf.txt.warn35
-rw-r--r--sys/linux/dev_binder.txt.warn10
-rw-r--r--sys/linux/dev_dri.txt.warn2
-rw-r--r--sys/linux/dev_floppy.txt.warn8
-rw-r--r--sys/linux/dev_input.txt.warn20
-rw-r--r--sys/linux/dev_kvm.txt.warn118
-rw-r--r--sys/linux/dev_loop.txt.warn17
-rw-r--r--sys/linux/dev_sg.txt.warn74
-rw-r--r--sys/linux/dev_snd_control.txt.warn3
-rw-r--r--sys/linux/dev_snd_pcm.txt.warn46
-rw-r--r--sys/linux/dev_snd_seq.txt.warn2
-rw-r--r--sys/linux/dev_snd_timer.txt.warn2
-rw-r--r--sys/linux/dev_tlk_device.txt.warn26
-rw-r--r--sys/linux/dev_vfio.txt.warn3
-rw-r--r--sys/linux/dev_video4linux.txt.warn16
-rw-r--r--sys/linux/devio.txt.warn16
-rw-r--r--sys/linux/inotify.txt.warn2
-rw-r--r--sys/linux/io_uring.txt.warn3
-rw-r--r--sys/linux/ipc.txt.warn100
-rw-r--r--sys/linux/mptcp.txt.warn8
-rw-r--r--sys/linux/netfilter.txt.warn36
-rw-r--r--sys/linux/netfilter_bridge.txt.warn44
-rw-r--r--sys/linux/netfilter_targets.txt.warn12
-rw-r--r--sys/linux/prctl.txt.warn9
-rw-r--r--sys/linux/socket.txt.warn12
-rw-r--r--sys/linux/socket_netlink.txt.warn2
-rw-r--r--sys/linux/socket_netlink_route_sched.txt.warn2
-rw-r--r--sys/linux/socket_vnet.txt.warn4
-rw-r--r--sys/linux/sys.txt.warn113
-rw-r--r--tools/syz-check/check.go28
32 files changed, 479 insertions, 298 deletions
diff --git a/sys/linux/9p.txt.warn b/sys/linux/9p.txt.warn
index 6b905881c..1ed5d7f3b 100644
--- a/sys/linux/9p.txt.warn
+++ b/sys/linux/9p.txt.warn
@@ -4,5 +4,5 @@ bad-struct-size: p9_qid: syz=13 kernel=16
bad-field-offset: p9_qid.version: syz=1 kernel=4
bad-field-offset: p9_qid.path: syz=5 kernel=8
no-such-struct: p9_ropen
-bad-struct-size: p9_rstatfs: syz=60 kernel=64 [amd64]
+bad-struct-size: p9_rstatfs: syz=60 kernel=64 [amd64,arm,arm64]
no-such-struct: p9_rgetattr
diff --git a/sys/linux/binfmt.txt.warn b/sys/linux/binfmt.txt.warn
index ea2ebbe60..5ae3f14bc 100644
--- a/sys/linux/binfmt.txt.warn
+++ b/sys/linux/binfmt.txt.warn
@@ -1,3 +1,3 @@
no-such-struct: exec
no-such-struct: elf_hdr
-no-such-struct: elf64_phdr [386]
+no-such-struct: elf64_phdr [386,arm]
diff --git a/sys/linux/bpf.txt.warn b/sys/linux/bpf.txt.warn
index 2070127e8..0f9c859d3 100644
--- a/sys/linux/bpf.txt.warn
+++ b/sys/linux/bpf.txt.warn
@@ -5,7 +5,8 @@ no-such-struct: bpf_map_update_arg
no-such-struct: bpf_map_delete_arg
no-such-struct: bpf_map_get_next_arg
bad-struct-size: bpf_prog: syz=116 kernel=40 [386]
-bad-struct-size: bpf_prog: syz=120 kernel=56 [amd64]
+bad-struct-size: bpf_prog: syz=120 kernel=40 [arm]
+bad-struct-size: bpf_prog: syz=120 kernel=56 [amd64,arm64]
bad-field-number: bpf_prog: syz=21 kernel=20
bad-field-size: bpf_prog.type/pages: syz=4 kernel=2
bad-bitfield: bpf_prog.ninsn/jited: size/offset: syz=0/0 kernel=1/0
@@ -43,17 +44,17 @@ bad-field-size: bpf_prog.func_info/jited_len: syz=8 kernel=4
bad-field-offset: bpf_prog.func_info/jited_len: syz=80 kernel=16
bad-field-size: bpf_prog.func_info_cnt/tag: syz=4 kernel=8
bad-field-offset: bpf_prog.func_info_cnt/tag: syz=88 kernel=20
-bad-field-size: bpf_prog.line_info_rec_size/aux: syz=4 kernel=8 [amd64]
-bad-field-offset: bpf_prog.line_info_rec_size/aux: syz=92 kernel=28 [386]
-bad-field-offset: bpf_prog.line_info_rec_size/aux: syz=92 kernel=32 [amd64]
-bad-field-size: bpf_prog.line_info/orig_prog: syz=8 kernel=4 [386]
-bad-field-offset: bpf_prog.line_info/orig_prog: syz=96 kernel=32 [386]
-bad-field-offset: bpf_prog.line_info/orig_prog: syz=96 kernel=40 [amd64]
-bad-field-offset: bpf_prog.line_info_cnt/bpf_func: syz=104 kernel=36 [386]
-bad-field-offset: bpf_prog.line_info_cnt/bpf_func: syz=104 kernel=48 [amd64]
-bad-field-size: bpf_prog.line_info_cnt/bpf_func: syz=4 kernel=8 [amd64]
-bad-field-offset: bpf_prog.attach_btf_id/: syz=108 kernel=40 [386]
-bad-field-offset: bpf_prog.attach_btf_id/: syz=108 kernel=56 [amd64]
+bad-field-size: bpf_prog.line_info_rec_size/aux: syz=4 kernel=8 [amd64,arm64]
+bad-field-offset: bpf_prog.line_info_rec_size/aux: syz=92 kernel=28 [386,arm]
+bad-field-offset: bpf_prog.line_info_rec_size/aux: syz=92 kernel=32 [amd64,arm64]
+bad-field-size: bpf_prog.line_info/orig_prog: syz=8 kernel=4 [386,arm]
+bad-field-offset: bpf_prog.line_info/orig_prog: syz=96 kernel=32 [386,arm]
+bad-field-offset: bpf_prog.line_info/orig_prog: syz=96 kernel=40 [amd64,arm64]
+bad-field-offset: bpf_prog.line_info_cnt/bpf_func: syz=104 kernel=36 [386,arm]
+bad-field-offset: bpf_prog.line_info_cnt/bpf_func: syz=104 kernel=48 [amd64,arm64]
+bad-field-size: bpf_prog.line_info_cnt/bpf_func: syz=4 kernel=8 [amd64,arm64]
+bad-field-offset: bpf_prog.attach_btf_id/: syz=108 kernel=40 [386,arm]
+bad-field-offset: bpf_prog.attach_btf_id/: syz=108 kernel=56 [amd64,arm64]
bad-field-size: bpf_prog.attach_btf_id/: syz=4 kernel=0
no-such-struct: bpf_insn_generic
no-such-struct: bpf_insn_ldst
@@ -79,13 +80,13 @@ bad-field-number: bpf_prog_info: syz=32 kernel=34
no-such-struct: bpf_get_map_info_arg
bad-struct-size: bpf_map_info: syz=40 kernel=80
bad-field-number: bpf_map_info: syz=7 kernel=13 [386]
-bad-field-number: bpf_map_info: syz=7 kernel=14 [amd64]
+bad-field-number: bpf_map_info: syz=7 kernel=14 [amd64,arm,arm64]
no-such-struct: bpf_get_btf_info_arg
no-such-struct: bpf_prog_query
-bad-struct-size: bpf_raw_tracepoint: syz=16 kernel=8 [386]
-bad-field-size: bpf_raw_tracepoint.name/btp: syz=8 kernel=4 [386]
-bad-field-size: bpf_raw_tracepoint.prog_fd/prog: syz=4 kernel=8 [amd64]
-bad-field-offset: bpf_raw_tracepoint.prog_fd/prog: syz=8 kernel=4 [386]
+bad-struct-size: bpf_raw_tracepoint: syz=16 kernel=8 [386,arm]
+bad-field-size: bpf_raw_tracepoint.name/btp: syz=8 kernel=4 [386,arm]
+bad-field-size: bpf_raw_tracepoint.prog_fd/prog: syz=4 kernel=8 [amd64,arm64]
+bad-field-offset: bpf_raw_tracepoint.prog_fd/prog: syz=8 kernel=4 [386,arm]
no-such-struct: bpf_btf_load
no-such-struct: btf_type_int
no-such-struct: btf_type_ref_t
diff --git a/sys/linux/dev_binder.txt.warn b/sys/linux/dev_binder.txt.warn
index 13a8eb02e..e53bc83c9 100644
--- a/sys/linux/dev_binder.txt.warn
+++ b/sys/linux/dev_binder.txt.warn
@@ -19,12 +19,12 @@ no-such-struct: binder_offsets
bad-field-size: flat_binder_object.binder/hdr: syz=24 kernel=4
bad-field-offset: flat_binder_object.weak_binder/flags: syz=24 kernel=4
bad-field-size: flat_binder_object.handle/: syz=20 kernel=8 [386]
-bad-field-size: flat_binder_object.handle/: syz=24 kernel=8 [amd64]
+bad-field-size: flat_binder_object.handle/: syz=24 kernel=8 [amd64,arm,arm64]
bad-field-offset: flat_binder_object.handle/: syz=48 kernel=8
bad-field-size: flat_binder_object.weak_handle/cookie: syz=20 kernel=8 [386]
-bad-field-size: flat_binder_object.weak_handle/cookie: syz=24 kernel=8 [amd64]
+bad-field-size: flat_binder_object.weak_handle/cookie: syz=24 kernel=8 [amd64,arm,arm64]
bad-field-offset: flat_binder_object.weak_handle/cookie: syz=68 kernel=16 [386]
-bad-field-offset: flat_binder_object.weak_handle/cookie: syz=72 kernel=16 [amd64]
+bad-field-offset: flat_binder_object.weak_handle/cookie: syz=72 kernel=16 [amd64,arm,arm64]
no-such-struct: flat_binder_object_t
bad-field-number: binder_fd_object: syz=5 kernel=4
bad-field-size: binder_fd_object.fd/: syz=4 kernel=8
@@ -34,9 +34,9 @@ bad-struct-size: binder_fd_array_object: syz=28 kernel=32 [386]
bad-field-number: binder_fd_array_object: syz=4 kernel=5
bad-field-size: binder_fd_array_object.num_fds/pad: syz=8 kernel=4
bad-field-offset: binder_fd_array_object.parnt/num_fds: syz=12 kernel=8 [386]
-bad-field-offset: binder_fd_array_object.parnt/num_fds: syz=16 kernel=8 [amd64]
+bad-field-offset: binder_fd_array_object.parnt/num_fds: syz=16 kernel=8 [amd64,arm,arm64]
bad-field-offset: binder_fd_array_object.parent_offset/parent: syz=20 kernel=16 [386]
-bad-field-offset: binder_fd_array_object.parent_offset/parent: syz=24 kernel=16 [amd64]
+bad-field-offset: binder_fd_array_object.parent_offset/parent: syz=24 kernel=16 [amd64,arm,arm64]
no-such-struct: binder_cmd_free_buffer
no-such-struct: binder_cmd_increfs
no-such-struct: binder_cmd_acquire
diff --git a/sys/linux/dev_dri.txt.warn b/sys/linux/dev_dri.txt.warn
index 25c14b425..a70f84b7b 100644
--- a/sys/linux/dev_dri.txt.warn
+++ b/sys/linux/dev_dri.txt.warn
@@ -11,6 +11,8 @@ no-such-struct: drm_buf_pub
no-such-struct: drm_buf_free
no-such-struct: drm_dma
no-such-struct: drm_control
+no-such-struct: drm_agp_buffer [arm,arm64]
+no-such-struct: drm_agp_binding [arm,arm64]
no-such-struct: drm_scatter_gather
no-such-struct: drm_wait_vblank
bad-field-size: drm_mode_modeinfo.vrefr/vrefresh: syz=2 kernel=4
diff --git a/sys/linux/dev_floppy.txt.warn b/sys/linux/dev_floppy.txt.warn
new file mode 100644
index 000000000..d4920e525
--- /dev/null
+++ b/sys/linux/dev_floppy.txt.warn
@@ -0,0 +1,8 @@
+no-such-struct: floppy_struct [arm,arm64]
+no-such-struct: format_descr [arm,arm64]
+no-such-struct: floppy_max_errors [arm,arm64]
+no-such-struct: floppy_drive_params [arm,arm64]
+no-such-struct: floppy_drive_struct [arm,arm64]
+no-such-struct: floppy_fdc_state [arm,arm64]
+no-such-struct: floppy_write_errors [arm,arm64]
+no-such-struct: floppy_raw_cmd [arm,arm64]
diff --git a/sys/linux/dev_input.txt.warn b/sys/linux/dev_input.txt.warn
index 4831ef759..d7167b709 100644
--- a/sys/linux/dev_input.txt.warn
+++ b/sys/linux/dev_input.txt.warn
@@ -1,13 +1,13 @@
bad-field-number: input_event: syz=4 kernel=5
-bad-field-size: input_event.time/__sec: syz=16 kernel=8 [amd64]
-bad-field-size: input_event.time/__sec: syz=8 kernel=4 [386]
-bad-field-offset: input_event.type/__usec: syz=16 kernel=8 [amd64]
-bad-field-size: input_event.type/__usec: syz=2 kernel=4 [386]
-bad-field-size: input_event.type/__usec: syz=2 kernel=8 [amd64]
-bad-field-offset: input_event.type/__usec: syz=8 kernel=4 [386]
-bad-field-offset: input_event.code/type: syz=10 kernel=8 [386]
-bad-field-offset: input_event.code/type: syz=18 kernel=16 [amd64]
-bad-field-offset: input_event.val/code: syz=12 kernel=10 [386]
-bad-field-offset: input_event.val/code: syz=20 kernel=18 [amd64]
+bad-field-size: input_event.time/__sec: syz=16 kernel=8 [amd64,arm64]
+bad-field-size: input_event.time/__sec: syz=8 kernel=4 [386,arm]
+bad-field-offset: input_event.type/__usec: syz=16 kernel=8 [amd64,arm64]
+bad-field-size: input_event.type/__usec: syz=2 kernel=4 [386,arm]
+bad-field-size: input_event.type/__usec: syz=2 kernel=8 [amd64,arm64]
+bad-field-offset: input_event.type/__usec: syz=8 kernel=4 [386,arm]
+bad-field-offset: input_event.code/type: syz=10 kernel=8 [386,arm]
+bad-field-offset: input_event.code/type: syz=18 kernel=16 [amd64,arm64]
+bad-field-offset: input_event.val/code: syz=12 kernel=10 [386,arm]
+bad-field-offset: input_event.val/code: syz=20 kernel=18 [amd64,arm64]
bad-field-size: input_event.val/code: syz=4 kernel=2
no-such-struct: ff_effect_u
diff --git a/sys/linux/dev_kvm.txt.warn b/sys/linux/dev_kvm.txt.warn
index 22836c891..4a547a7a4 100644
--- a/sys/linux/dev_kvm.txt.warn
+++ b/sys/linux/dev_kvm.txt.warn
@@ -1,4 +1,28 @@
-compiler: unsupported syscall: ioctl$KVM_ARM_VCPU_INIT due to missing const KVM_ARM_VCPU_INIT
+compiler: unsupported syscall: ioctl$KVM_GET_MSR_INDEX_LIST due to missing const KVM_GET_MSR_INDEX_LIST [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_GET_SUPPORTED_CPUID due to missing const KVM_GET_SUPPORTED_CPUID [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_GET_EMULATED_CPUID due to missing const KVM_GET_EMULATED_CPUID [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_XEN_HVM_CONFIG due to missing const KVM_XEN_HVM_CONFIG [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_GET_PIT due to missing const KVM_GET_PIT [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_SET_PIT due to missing const KVM_SET_PIT [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_GET_PIT2 due to missing const KVM_GET_PIT2 [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_SET_PIT2 due to missing const KVM_SET_PIT2 [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_GET_MSRS due to missing const KVM_GET_MSRS [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_SET_MSRS due to missing const KVM_SET_MSRS [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_SET_CPUID due to missing const KVM_SET_CPUID [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_GET_CPUID2 due to missing const KVM_GET_CPUID2 [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_SET_CPUID2 due to missing const KVM_SET_CPUID2 [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_GET_DEBUGREGS due to missing const KVM_GET_DEBUGREGS [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_SET_DEBUGREGS due to missing const KVM_SET_DEBUGREGS [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_GET_XSAVE due to missing const KVM_GET_XSAVE [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_SET_XSAVE due to missing const KVM_SET_XSAVE [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_GET_XCRS due to missing const KVM_GET_XCRS [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_SET_XCRS due to missing const KVM_SET_XCRS [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_GET_LAPIC due to missing const KVM_GET_LAPIC [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_SET_LAPIC due to missing const KVM_SET_LAPIC [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_X86_SET_MCE due to missing const KVM_X86_SET_MCE [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_ARM_VCPU_INIT due to missing const KVM_ARM_VCPU_INIT [386,amd64]
+compiler: unsupported syscall: ioctl$KVM_GET_NESTED_STATE due to missing const KVM_GET_NESTED_STATE [arm,arm64]
+compiler: unsupported syscall: ioctl$KVM_SET_NESTED_STATE due to missing const KVM_SET_NESTED_STATE [arm,arm64]
no-such-struct: kvm_text_x86
no-such-struct: kvm_text_x86_real
no-such-struct: kvm_text_x86_16
@@ -17,40 +41,84 @@ no-such-struct: kvm_setup_opt_dstype3
no-such-struct: kvm_setup_opt_vmwrite
no-such-struct: kvm_setup_opt_arm64
no-such-struct: kvm_setup_opt_feature
-no-such-struct: kvm_arm_device_addr
+no-such-struct: kvm_guest_debug [arm]
+bad-struct-size: kvm_guest_debug: syz=72 kernel=520 [arm64]
+bad-field-size: kvm_guest_debug.reg/arch: syz=64 kernel=512 [arm64]
+no-such-struct: kvm_arm_device_addr [386,amd64,arm]
+no-such-struct: kvm_device_attr [arm]
+no-such-struct: kvm_create_device [arm]
no-such-struct: kvm_s390_interrupt
-no-such-struct: kvm_one_reg
+no-such-struct: kvm_irqfd [arm]
+no-such-struct: kvm_pit_config [arm,arm64]
+no-such-struct: kvm_msi [arm]
+no-such-struct: kvm_one_reg [386,amd64,arm]
no-such-struct: kvm_s390_ucas_mapping
no-such-struct: kvm_dirty_tlb
+no-such-struct: kvm_ioeventfd [arm]
no-such-struct: kvm_assigned_msix_entry
no-such-struct: kvm_assigned_msix_nr
+no-such-struct: kvm_irq_routing_entry [arm]
no-such-struct: kvm_irq_routing_entry_u
+no-such-struct: kvm_irq_routing_irqchip [arm]
+no-such-struct: kvm_irq_routing_msi [arm]
+no-such-struct: kvm_irq_routing_s390_adapter [arm]
+no-such-struct: kvm_irq_routing_hv_sint [arm]
no-such-struct: kvm_assigned_irq
no-such-struct: kvm_assigned_pci_dev
no-such-struct: kvm_enable_cap_cpu
no-such-struct: kvm_enable_cap_vm
-bad-field-number: kvm_vcpu_events: syz=22 kernel=9
-bad-field-size: kvm_vcpu_events.exinjec/exception: syz=1 kernel=8
-bad-field-size: kvm_vcpu_events.exnr/interrupt: syz=1 kernel=4
-bad-field-offset: kvm_vcpu_events.exnr/interrupt: syz=1 kernel=8
-bad-field-size: kvm_vcpu_events.exhec/nmi: syz=1 kernel=4
-bad-field-offset: kvm_vcpu_events.exhec/nmi: syz=2 kernel=12
-bad-field-size: kvm_vcpu_events.pad1/sipi_vector: syz=1 kernel=4
-bad-field-offset: kvm_vcpu_events.pad1/sipi_vector: syz=3 kernel=16
-bad-field-offset: kvm_vcpu_events.exec/flags: syz=4 kernel=20
-bad-field-size: kvm_vcpu_events.ininjec/smi: syz=1 kernel=4
-bad-field-offset: kvm_vcpu_events.ininjec/smi: syz=8 kernel=24
-bad-field-size: kvm_vcpu_events.innr/reserved: syz=1 kernel=27
-bad-field-offset: kvm_vcpu_events.innr/reserved: syz=9 kernel=28
-bad-field-offset: kvm_vcpu_events.insoft/exception_has_payload: syz=10 kernel=55
-bad-field-size: kvm_vcpu_events.inshad/exception_payload: syz=1 kernel=8
-bad-field-offset: kvm_vcpu_events.inshad/exception_payload: syz=11 kernel=56
-bad-field-number: kvm_regs: syz=3 kernel=18
-bad-field-size: kvm_regs.gp/rax: syz=128 kernel=8
-bad-field-offset: kvm_regs.rip/rbx: syz=128 kernel=8
-bad-field-offset: kvm_regs.rflags/rcx: syz=136 kernel=16
+no-such-struct: kvm_userspace_memory_region [arm]
+no-such-struct: kvm_vcpu_events [arm]
+bad-field-number: kvm_vcpu_events: syz=22 kernel=2 [arm64]
+bad-field-number: kvm_vcpu_events: syz=22 kernel=9 [386,amd64]
+bad-field-size: kvm_vcpu_events.exinjec/exception: syz=1 kernel=16 [arm64]
+bad-field-size: kvm_vcpu_events.exinjec/exception: syz=1 kernel=8 [386,amd64]
+bad-field-size: kvm_vcpu_events.exnr/interrupt: syz=1 kernel=4 [386,amd64]
+bad-field-offset: kvm_vcpu_events.exnr/interrupt: syz=1 kernel=8 [386,amd64]
+bad-field-offset: kvm_vcpu_events.exnr/reserved: syz=1 kernel=16 [arm64]
+bad-field-size: kvm_vcpu_events.exnr/reserved: syz=1 kernel=48 [arm64]
+bad-field-size: kvm_vcpu_events.exhec/nmi: syz=1 kernel=4 [386,amd64]
+bad-field-offset: kvm_vcpu_events.exhec/nmi: syz=2 kernel=12 [386,amd64]
+bad-field-size: kvm_vcpu_events.pad1/sipi_vector: syz=1 kernel=4 [386,amd64]
+bad-field-offset: kvm_vcpu_events.pad1/sipi_vector: syz=3 kernel=16 [386,amd64]
+bad-field-offset: kvm_vcpu_events.exec/flags: syz=4 kernel=20 [386,amd64]
+bad-field-size: kvm_vcpu_events.ininjec/smi: syz=1 kernel=4 [386,amd64]
+bad-field-offset: kvm_vcpu_events.ininjec/smi: syz=8 kernel=24 [386,amd64]
+bad-field-size: kvm_vcpu_events.innr/reserved: syz=1 kernel=27 [386,amd64]
+bad-field-offset: kvm_vcpu_events.innr/reserved: syz=9 kernel=28 [386,amd64]
+bad-field-offset: kvm_vcpu_events.insoft/exception_has_payload: syz=10 kernel=55 [386,amd64]
+bad-field-size: kvm_vcpu_events.inshad/exception_payload: syz=1 kernel=8 [386,amd64]
+bad-field-offset: kvm_vcpu_events.inshad/exception_payload: syz=11 kernel=56 [386,amd64]
+no-such-struct: kvm_clock_data [arm,arm64]
+no-such-struct: kvm_irq_level [arm]
+no-such-struct: kvm_translation [arm]
+no-such-struct: kvm_dirty_log [arm]
+no-such-struct: kvm_regs [arm]
+bad-struct-size: kvm_regs: syz=144 kernel=864 [arm64]
+bad-field-number: kvm_regs: syz=3 kernel=18 [386,amd64]
+bad-field-number: kvm_regs: syz=3 kernel=5 [arm64]
+bad-field-size: kvm_regs.gp/rax: syz=128 kernel=8 [386,amd64]
+bad-field-size: kvm_regs.gp/regs: syz=128 kernel=272 [arm64]
+bad-field-offset: kvm_regs.rip/rbx: syz=128 kernel=8 [386,amd64]
+bad-field-offset: kvm_regs.rip/sp_el1: syz=128 kernel=272 [arm64]
+bad-field-offset: kvm_regs.rflags/elr_el1: syz=136 kernel=280 [arm64]
+bad-field-offset: kvm_regs.rflags/rcx: syz=136 kernel=16 [386,amd64]
+no-such-struct: kvm_sregs [arm,arm64]
+no-such-struct: kvm_segment [arm,arm64]
+no-such-struct: kvm_dtable [arm,arm64]
+no-such-struct: kvm_fpu [arm,arm64]
+no-such-struct: kvm_irqchip [arm,arm64]
no-such-struct: kvm_irq_chip
+no-such-struct: kvm_pic_state [arm,arm64]
+no-such-struct: kvm_ioapic_state [arm,arm64]
no-such-struct: kvm_ioapic_redir
+no-such-struct: kvm_tpr_access_ctl [arm,arm64]
no-such-struct: kvm_mce_cap
-no-such-struct: kvm_nested_state_arg
-no-such-struct: kvm_vmx_nested_state
+no-such-struct: kvm_reinject_control [arm,arm64]
+no-such-struct: kvm_coalesced_mmio_zone [arm]
+no-such-struct: kvm_vcpu_init [arm]
+bad-field-number: kvm_vcpu_init: syz=3 kernel=2 [arm64]
+bad-field-size: kvm_vcpu_init.feature/features: syz=4 kernel=28 [arm64]
+no-such-struct: kvm_hyperv_eventfd [arm,arm64]
+no-such-struct: kvm_nested_state_arg [386,amd64]
+no-such-struct: kvm_vmx_nested_state [386,amd64]
diff --git a/sys/linux/dev_loop.txt.warn b/sys/linux/dev_loop.txt.warn
index 3587e47c0..2c9aec904 100644
--- a/sys/linux/dev_loop.txt.warn
+++ b/sys/linux/dev_loop.txt.warn
@@ -1,2 +1,15 @@
-bad-field-size: loop_info.lo_device: syz=4 kernel=2 [386]
-bad-field-size: loop_info.lo_rdevice: syz=4 kernel=2 [386]
+bad-struct-size: loop_info: syz=168 kernel=160 [arm64]
+bad-field-size: loop_info.lo_device: syz=4 kernel=2 [386,arm]
+bad-field-size: loop_info.lo_device: syz=8 kernel=4 [arm64]
+bad-field-offset: loop_info.lo_inode: syz=16 kernel=8 [arm64]
+bad-field-offset: loop_info.lo_rdevice: syz=24 kernel=16 [arm64]
+bad-field-size: loop_info.lo_rdevice: syz=4 kernel=2 [386,arm]
+bad-field-size: loop_info.lo_rdevice: syz=8 kernel=4 [arm64]
+bad-field-offset: loop_info.lo_offset: syz=32 kernel=20 [arm64]
+bad-field-offset: loop_info.lo_enc_type/lo_encrypt_type: syz=36 kernel=24 [arm64]
+bad-field-offset: loop_info.lo_enc_key_size/lo_encrypt_key_size: syz=40 kernel=28 [arm64]
+bad-field-offset: loop_info.lo_flags: syz=44 kernel=32 [arm64]
+bad-field-offset: loop_info.lo_name: syz=48 kernel=36 [arm64]
+bad-field-offset: loop_info.lo_enc_key/lo_encrypt_key: syz=112 kernel=100 [arm64]
+bad-field-offset: loop_info.lo_init: syz=144 kernel=136 [arm64]
+bad-field-offset: loop_info.reserved: syz=160 kernel=152 [arm64]
diff --git a/sys/linux/dev_sg.txt.warn b/sys/linux/dev_sg.txt.warn
index 81ad46134..2b1e71bdb 100644
--- a/sys/linux/dev_sg.txt.warn
+++ b/sys/linux/dev_sg.txt.warn
@@ -1,46 +1,46 @@
bad-field-number: sg_io_hdr: syz=20 kernel=22
-bad-field-size: sg_io_hdr.data/iovec_count: syz=10 kernel=2 [386]
-bad-field-size: sg_io_hdr.data/iovec_count: syz=14 kernel=2 [amd64]
-bad-field-offset: sg_io_hdr.cmdp/dxfer_len: syz=20 kernel=12 [386]
-bad-field-offset: sg_io_hdr.cmdp/dxfer_len: syz=24 kernel=12 [amd64]
-bad-field-size: sg_io_hdr.cmdp/dxfer_len: syz=8 kernel=4 [amd64]
-bad-field-offset: sg_io_hdr.sbp/dxferp: syz=24 kernel=16 [386]
-bad-field-offset: sg_io_hdr.sbp/dxferp: syz=32 kernel=16 [amd64]
-bad-field-offset: sg_io_hdr.timeout/cmdp: syz=28 kernel=20 [386]
-bad-field-size: sg_io_hdr.timeout/cmdp: syz=4 kernel=8 [amd64]
-bad-field-offset: sg_io_hdr.timeout/cmdp: syz=40 kernel=24 [amd64]
-bad-field-offset: sg_io_hdr.flags/sbp: syz=32 kernel=24 [386]
-bad-field-size: sg_io_hdr.flags/sbp: syz=4 kernel=8 [amd64]
-bad-field-offset: sg_io_hdr.flags/sbp: syz=44 kernel=32 [amd64]
-bad-field-offset: sg_io_hdr.pack_id/timeout: syz=36 kernel=28 [386]
-bad-field-offset: sg_io_hdr.pack_id/timeout: syz=48 kernel=40 [amd64]
-bad-field-offset: sg_io_hdr.usr_ptr/flags: syz=40 kernel=32 [386]
-bad-field-offset: sg_io_hdr.usr_ptr/flags: syz=52 kernel=44 [amd64]
-bad-field-size: sg_io_hdr.usr_ptr/flags: syz=8 kernel=4 [amd64]
+bad-field-size: sg_io_hdr.data/iovec_count: syz=10 kernel=2 [386,arm]
+bad-field-size: sg_io_hdr.data/iovec_count: syz=14 kernel=2 [amd64,arm64]
+bad-field-offset: sg_io_hdr.cmdp/dxfer_len: syz=20 kernel=12 [386,arm]
+bad-field-offset: sg_io_hdr.cmdp/dxfer_len: syz=24 kernel=12 [amd64,arm64]
+bad-field-size: sg_io_hdr.cmdp/dxfer_len: syz=8 kernel=4 [amd64,arm64]
+bad-field-offset: sg_io_hdr.sbp/dxferp: syz=24 kernel=16 [386,arm]
+bad-field-offset: sg_io_hdr.sbp/dxferp: syz=32 kernel=16 [amd64,arm64]
+bad-field-offset: sg_io_hdr.timeout/cmdp: syz=28 kernel=20 [386,arm]
+bad-field-size: sg_io_hdr.timeout/cmdp: syz=4 kernel=8 [amd64,arm64]
+bad-field-offset: sg_io_hdr.timeout/cmdp: syz=40 kernel=24 [amd64,arm64]
+bad-field-offset: sg_io_hdr.flags/sbp: syz=32 kernel=24 [386,arm]
+bad-field-size: sg_io_hdr.flags/sbp: syz=4 kernel=8 [amd64,arm64]
+bad-field-offset: sg_io_hdr.flags/sbp: syz=44 kernel=32 [amd64,arm64]
+bad-field-offset: sg_io_hdr.pack_id/timeout: syz=36 kernel=28 [386,arm]
+bad-field-offset: sg_io_hdr.pack_id/timeout: syz=48 kernel=40 [amd64,arm64]
+bad-field-offset: sg_io_hdr.usr_ptr/flags: syz=40 kernel=32 [386,arm]
+bad-field-offset: sg_io_hdr.usr_ptr/flags: syz=52 kernel=44 [amd64,arm64]
+bad-field-size: sg_io_hdr.usr_ptr/flags: syz=8 kernel=4 [amd64,arm64]
bad-field-size: sg_io_hdr.status/pack_id: syz=1 kernel=4
-bad-field-offset: sg_io_hdr.status/pack_id: syz=44 kernel=36 [386]
-bad-field-offset: sg_io_hdr.status/pack_id: syz=60 kernel=48 [amd64]
-bad-field-size: sg_io_hdr.masked_status/usr_ptr: syz=1 kernel=4 [386]
-bad-field-size: sg_io_hdr.masked_status/usr_ptr: syz=1 kernel=8 [amd64]
-bad-field-offset: sg_io_hdr.masked_status/usr_ptr: syz=45 kernel=40 [386]
-bad-field-offset: sg_io_hdr.masked_status/usr_ptr: syz=61 kernel=56 [amd64]
-bad-field-offset: sg_io_hdr.msg_status/status: syz=46 kernel=44 [386]
-bad-field-offset: sg_io_hdr.msg_status/status: syz=62 kernel=64 [amd64]
-bad-field-offset: sg_io_hdr.sb_len_wr/masked_status: syz=47 kernel=45 [386]
-bad-field-offset: sg_io_hdr.sb_len_wr/masked_status: syz=63 kernel=65 [amd64]
+bad-field-offset: sg_io_hdr.status/pack_id: syz=44 kernel=36 [386,arm]
+bad-field-offset: sg_io_hdr.status/pack_id: syz=60 kernel=48 [amd64,arm64]
+bad-field-size: sg_io_hdr.masked_status/usr_ptr: syz=1 kernel=4 [386,arm]
+bad-field-size: sg_io_hdr.masked_status/usr_ptr: syz=1 kernel=8 [amd64,arm64]
+bad-field-offset: sg_io_hdr.masked_status/usr_ptr: syz=45 kernel=40 [386,arm]
+bad-field-offset: sg_io_hdr.masked_status/usr_ptr: syz=61 kernel=56 [amd64,arm64]
+bad-field-offset: sg_io_hdr.msg_status/status: syz=46 kernel=44 [386,arm]
+bad-field-offset: sg_io_hdr.msg_status/status: syz=62 kernel=64 [amd64,arm64]
+bad-field-offset: sg_io_hdr.sb_len_wr/masked_status: syz=47 kernel=45 [386,arm]
+bad-field-offset: sg_io_hdr.sb_len_wr/masked_status: syz=63 kernel=65 [amd64,arm64]
bad-field-size: sg_io_hdr.host_status/msg_status: syz=2 kernel=1
-bad-field-offset: sg_io_hdr.host_status/msg_status: syz=48 kernel=46 [386]
-bad-field-offset: sg_io_hdr.host_status/msg_status: syz=64 kernel=66 [amd64]
+bad-field-offset: sg_io_hdr.host_status/msg_status: syz=48 kernel=46 [386,arm]
+bad-field-offset: sg_io_hdr.host_status/msg_status: syz=64 kernel=66 [amd64,arm64]
bad-field-size: sg_io_hdr.driver_status/sb_len_wr: syz=2 kernel=1
-bad-field-offset: sg_io_hdr.driver_status/sb_len_wr: syz=50 kernel=47 [386]
-bad-field-offset: sg_io_hdr.driver_status/sb_len_wr: syz=66 kernel=67 [amd64]
+bad-field-offset: sg_io_hdr.driver_status/sb_len_wr: syz=50 kernel=47 [386,arm]
+bad-field-offset: sg_io_hdr.driver_status/sb_len_wr: syz=66 kernel=67 [amd64,arm64]
bad-field-size: sg_io_hdr.resid/host_status: syz=4 kernel=2
-bad-field-offset: sg_io_hdr.resid/host_status: syz=52 kernel=48 [386]
+bad-field-offset: sg_io_hdr.resid/host_status: syz=52 kernel=48 [386,arm]
bad-field-size: sg_io_hdr.duration/driver_status: syz=4 kernel=2
-bad-field-offset: sg_io_hdr.duration/driver_status: syz=56 kernel=50 [386]
-bad-field-offset: sg_io_hdr.duration/driver_status: syz=72 kernel=70 [amd64]
-bad-field-offset: sg_io_hdr.info/resid: syz=60 kernel=52 [386]
-bad-field-offset: sg_io_hdr.info/resid: syz=76 kernel=72 [amd64]
+bad-field-offset: sg_io_hdr.duration/driver_status: syz=56 kernel=50 [386,arm]
+bad-field-offset: sg_io_hdr.duration/driver_status: syz=72 kernel=70 [amd64,arm64]
+bad-field-offset: sg_io_hdr.info/resid: syz=60 kernel=52 [386,arm]
+bad-field-offset: sg_io_hdr.info/resid: syz=76 kernel=72 [amd64,arm64]
no-such-struct: sg_io_hdr_data
no-such-struct: sg_io_hdr_data_buffer
no-such-struct: sg_io_hdr_data_scatter
diff --git a/sys/linux/dev_snd_control.txt.warn b/sys/linux/dev_snd_control.txt.warn
index 8e957d058..a2c325a2f 100644
--- a/sys/linux/dev_snd_control.txt.warn
+++ b/sys/linux/dev_snd_control.txt.warn
@@ -3,3 +3,6 @@ compiler: len target names_ptr refer to an array with variable-size elements (do
bad-field-size: snd_ctl_elem_info.items/value: syz=4 kernel=128
bad-field-size: snd_ctl_elem_info.item/reserved: syz=4 kernel=64
bad-field-offset: snd_ctl_elem_info.item/reserved: syz=84 kernel=208
+bad-struct-size: snd_ctl_elem_value: syz=708 kernel=712 [arm]
+bad-field-offset: snd_ctl_elem_value.value: syz=68 kernel=72 [arm]
+bad-field-offset: snd_ctl_elem_value.reserved: syz=580 kernel=584 [arm]
diff --git a/sys/linux/dev_snd_pcm.txt.warn b/sys/linux/dev_snd_pcm.txt.warn
index 40127ecfe..f2b991d59 100644
--- a/sys/linux/dev_snd_pcm.txt.warn
+++ b/sys/linux/dev_snd_pcm.txt.warn
@@ -1,28 +1,28 @@
bad-field-number: snd_pcm_sync_ptr: syz=3 kernel=4
bad-field-size: snd_pcm_sync_ptr.status/pad1: syz=64 kernel=4
-bad-field-size: snd_pcm_sync_ptr.control/s: syz=16 kernel=64 [amd64]
-bad-field-offset: snd_pcm_sync_ptr.control/s: syz=68 kernel=8 [386]
-bad-field-offset: snd_pcm_sync_ptr.control/s: syz=72 kernel=8 [amd64]
-bad-field-size: snd_pcm_sync_ptr.control/s: syz=8 kernel=64 [386]
+bad-field-size: snd_pcm_sync_ptr.control/s: syz=16 kernel=64 [amd64,arm64]
+bad-field-offset: snd_pcm_sync_ptr.control/s: syz=68 kernel=8 [386,arm]
+bad-field-offset: snd_pcm_sync_ptr.control/s: syz=72 kernel=8 [amd64,arm64]
+bad-field-size: snd_pcm_sync_ptr.control/s: syz=8 kernel=64 [386,arm]
bad-field-number: snd_pcm_mmap_control: syz=2 kernel=6
-bad-struct-size: snd_pcm_mmap_control: syz=8 kernel=12 [386]
-bad-field-size: snd_pcm_mmap_control.appl_ptr/__pad1: syz=4 kernel=0 [386]
-bad-field-size: snd_pcm_mmap_control.appl_ptr/__pad1: syz=8 kernel=0 [amd64]
-bad-field-offset: snd_pcm_mmap_control.avail_min/appl_ptr: syz=4 kernel=0 [386]
-bad-field-offset: snd_pcm_mmap_control.avail_min/appl_ptr: syz=8 kernel=0 [amd64]
+bad-struct-size: snd_pcm_mmap_control: syz=8 kernel=12 [386,arm]
+bad-field-size: snd_pcm_mmap_control.appl_ptr/__pad1: syz=4 kernel=0 [386,arm]
+bad-field-size: snd_pcm_mmap_control.appl_ptr/__pad1: syz=8 kernel=0 [amd64,arm64]
+bad-field-offset: snd_pcm_mmap_control.avail_min/appl_ptr: syz=4 kernel=0 [386,arm]
+bad-field-offset: snd_pcm_mmap_control.avail_min/appl_ptr: syz=8 kernel=0 [amd64,arm64]
bad-field-number: snd_pcm_status32: syz=13 kernel=19
-bad-field-offset: snd_pcm_status32.appl_ptr: syz=24 kernel=20 [amd64]
-bad-field-size: snd_pcm_status32.appl_ptr: syz=8 kernel=4 [amd64]
-bad-field-offset: snd_pcm_status32.hw_ptr: syz=32 kernel=24 [amd64]
-bad-field-size: snd_pcm_status32.hw_ptr: syz=8 kernel=4 [amd64]
-bad-field-offset: snd_pcm_status32.delay: syz=40 kernel=28 [amd64]
-bad-field-size: snd_pcm_status32.delay: syz=8 kernel=4 [amd64]
-bad-field-offset: snd_pcm_status32.avail: syz=48 kernel=32 [amd64]
-bad-field-size: snd_pcm_status32.avail: syz=8 kernel=4 [amd64]
-bad-field-offset: snd_pcm_status32.avail_max: syz=56 kernel=36 [amd64]
-bad-field-size: snd_pcm_status32.avail_max: syz=8 kernel=4 [amd64]
-bad-field-offset: snd_pcm_status32.overrange: syz=64 kernel=40 [amd64]
-bad-field-size: snd_pcm_status32.overrange: syz=8 kernel=4 [amd64]
-bad-field-offset: snd_pcm_status32.suspended_state: syz=72 kernel=44 [amd64]
-bad-field-offset: snd_pcm_status32.audio_tstamp_data: syz=76 kernel=48 [amd64]
+bad-field-offset: snd_pcm_status32.appl_ptr: syz=24 kernel=20 [amd64,arm64]
+bad-field-size: snd_pcm_status32.appl_ptr: syz=8 kernel=4 [amd64,arm64]
+bad-field-offset: snd_pcm_status32.hw_ptr: syz=32 kernel=24 [amd64,arm64]
+bad-field-size: snd_pcm_status32.hw_ptr: syz=8 kernel=4 [amd64,arm64]
+bad-field-offset: snd_pcm_status32.delay: syz=40 kernel=28 [amd64,arm64]
+bad-field-size: snd_pcm_status32.delay: syz=8 kernel=4 [amd64,arm64]
+bad-field-offset: snd_pcm_status32.avail: syz=48 kernel=32 [amd64,arm64]
+bad-field-size: snd_pcm_status32.avail: syz=8 kernel=4 [amd64,arm64]
+bad-field-offset: snd_pcm_status32.avail_max: syz=56 kernel=36 [amd64,arm64]
+bad-field-size: snd_pcm_status32.avail_max: syz=8 kernel=4 [amd64,arm64]
+bad-field-offset: snd_pcm_status32.overrange: syz=64 kernel=40 [amd64,arm64]
+bad-field-size: snd_pcm_status32.overrange: syz=8 kernel=4 [amd64,arm64]
+bad-field-offset: snd_pcm_status32.suspended_state: syz=72 kernel=44 [amd64,arm64]
+bad-field-offset: snd_pcm_status32.audio_tstamp_data: syz=76 kernel=48 [amd64,arm64]
bad-field-number: snd_pcm_status64: syz=14 kernel=20
diff --git a/sys/linux/dev_snd_seq.txt.warn b/sys/linux/dev_snd_seq.txt.warn
index 19defed76..37dc39156 100644
--- a/sys/linux/dev_snd_seq.txt.warn
+++ b/sys/linux/dev_snd_seq.txt.warn
@@ -4,7 +4,7 @@ bad-field-offset: snd_seq_queue_timer.resolution/reserved: syz=28 kernel=32
bad-field-size: snd_seq_queue_timer.resolution/reserved: syz=4 kernel=64
no-such-struct: snd_seq_event_data
bad-field-number: snd_seq_ev_ctrl: syz=3 kernel=6
-bad-field-offset: snd_seq_ev_ctrl.param/unused1: syz=4 kernel=1
+bad-field-size: snd_seq_ev_ctrl.param/unused1: syz=4 kernel=1
bad-field-size: snd_seq_ev_ctrl.val/unused2: syz=4 kernel=1
bad-field-offset: snd_seq_ev_ctrl.val/unused2: syz=8 kernel=2
bad-field-number: snd_seq_ev_queue_control: syz=2 kernel=3
diff --git a/sys/linux/dev_snd_timer.txt.warn b/sys/linux/dev_snd_timer.txt.warn
index 19901de87..abc99e7b3 100644
--- a/sys/linux/dev_snd_timer.txt.warn
+++ b/sys/linux/dev_snd_timer.txt.warn
@@ -1 +1 @@
-compiler: unsupported syscall: ioctl$SNDRV_TIMER_IOCTL_TREAD due to missing const SNDRV_TIMER_IOCTL_TREAD [386]
+compiler: unsupported syscall: ioctl$SNDRV_TIMER_IOCTL_TREAD due to missing const SNDRV_TIMER_IOCTL_TREAD [386,arm]
diff --git a/sys/linux/dev_tlk_device.txt.warn b/sys/linux/dev_tlk_device.txt.warn
index 24fb12b36..0413c8aa3 100644
--- a/sys/linux/dev_tlk_device.txt.warn
+++ b/sys/linux/dev_tlk_device.txt.warn
@@ -1,13 +1,13 @@
-compiler: unsupported syscall: ioctl$TE_IOCTL_OPEN_CLIENT_SESSION due to missing const TE_IOCTL_OPEN_CLIENT_SESSION [386]
-compiler: unsupported syscall: ioctl$TE_IOCTL_CLOSE_CLIENT_SESSION due to missing const TE_IOCTL_CLOSE_CLIENT_SESSION [386]
-compiler: unsupported syscall: ioctl$TE_IOCTL_LAUNCH_OPERATION due to missing const TE_IOCTL_LAUNCH_OPERATION [386]
-compiler: unsupported syscall: ioctl$TE_IOCTL_SS_CMD due to missing const TE_IOCTL_SS_CMD [386]
-no-such-struct: te_service_id [amd64]
-no-such-struct: te_opensession [amd64]
-no-such-struct: te_closesession [amd64]
-no-such-struct: te_answer [amd64]
-no-such-struct: te_launchop [amd64]
-no-such-struct: te_operation [amd64]
-no-such-struct: te_int_mem_union [amd64]
-no-such-struct: te_mem [amd64]
-no-such-struct: te_oper_param [amd64]
+compiler: unsupported syscall: ioctl$TE_IOCTL_OPEN_CLIENT_SESSION due to missing const TE_IOCTL_OPEN_CLIENT_SESSION [386,arm]
+compiler: unsupported syscall: ioctl$TE_IOCTL_CLOSE_CLIENT_SESSION due to missing const TE_IOCTL_CLOSE_CLIENT_SESSION [386,arm]
+compiler: unsupported syscall: ioctl$TE_IOCTL_LAUNCH_OPERATION due to missing const TE_IOCTL_LAUNCH_OPERATION [386,arm]
+compiler: unsupported syscall: ioctl$TE_IOCTL_SS_CMD due to missing const TE_IOCTL_SS_CMD [386,arm]
+no-such-struct: te_service_id [amd64,arm64]
+no-such-struct: te_opensession [amd64,arm64]
+no-such-struct: te_closesession [amd64,arm64]
+no-such-struct: te_answer [amd64,arm64]
+no-such-struct: te_launchop [amd64,arm64]
+no-such-struct: te_operation [amd64,arm64]
+no-such-struct: te_int_mem_union [amd64,arm64]
+no-such-struct: te_mem [amd64,arm64]
+no-such-struct: te_oper_param [amd64,arm64]
diff --git a/sys/linux/dev_vfio.txt.warn b/sys/linux/dev_vfio.txt.warn
new file mode 100644
index 000000000..3646ac58e
--- /dev/null
+++ b/sys/linux/dev_vfio.txt.warn
@@ -0,0 +1,3 @@
+no-such-struct: vfio_iommu_type1_info [arm]
+no-such-struct: vfio_iommu_type1_dma_map [arm]
+no-such-struct: vfio_iommu_type1_dma_unmap [arm]
diff --git a/sys/linux/dev_video4linux.txt.warn b/sys/linux/dev_video4linux.txt.warn
index 573a62cd4..24b233d82 100644
--- a/sys/linux/dev_video4linux.txt.warn
+++ b/sys/linux/dev_video4linux.txt.warn
@@ -1,13 +1,22 @@
no-such-struct: v4l2_format_fmt
bad-struct-size: v4l2_buffer: syz=68 kernel=76 [386]
-bad-field-size: v4l2_buffer.timestamp: syz=8 kernel=16 [386]
+bad-struct-size: v4l2_buffer: syz=68 kernel=80 [arm]
+bad-field-offset: v4l2_buffer.timestamp: syz=20 kernel=24 [arm]
+bad-field-size: v4l2_buffer.timestamp: syz=8 kernel=16 [386,arm]
bad-field-offset: v4l2_buffer.timecode: syz=28 kernel=36 [386]
+bad-field-offset: v4l2_buffer.timecode: syz=28 kernel=40 [arm]
bad-field-offset: v4l2_buffer.sequence: syz=44 kernel=52 [386]
+bad-field-offset: v4l2_buffer.sequence: syz=44 kernel=56 [arm]
bad-field-offset: v4l2_buffer.memory: syz=48 kernel=56 [386]
+bad-field-offset: v4l2_buffer.memory: syz=48 kernel=60 [arm]
bad-field-offset: v4l2_buffer.m: syz=52 kernel=60 [386]
+bad-field-offset: v4l2_buffer.m: syz=52 kernel=64 [arm]
bad-field-offset: v4l2_buffer.length: syz=56 kernel=64 [386]
+bad-field-offset: v4l2_buffer.length: syz=56 kernel=68 [arm]
bad-field-offset: v4l2_buffer.reserved2: syz=60 kernel=68 [386]
+bad-field-offset: v4l2_buffer.reserved2: syz=60 kernel=72 [arm]
bad-field-offset: v4l2_buffer.request_fd/: syz=64 kernel=72 [386]
+bad-field-offset: v4l2_buffer.request_fd/: syz=64 kernel=76 [arm]
no-such-struct: v4l2_buffer_union
no-such-struct: v4l2_plane_union
no-such-struct: v4l2_framebuffer_union
@@ -19,9 +28,12 @@ no-such-struct: v4l2_frmivalenum_union
no-such-struct: v4l2_dbg_match_union
no-such-struct: v4l2_dv_timings_union
bad-struct-size: v4l2_event: syz=120 kernel=128 [386]
-bad-field-size: v4l2_event.timestamp: syz=8 kernel=16 [386]
+bad-struct-size: v4l2_event: syz=128 kernel=136 [arm]
+bad-field-size: v4l2_event.timestamp: syz=8 kernel=16 [386,arm]
bad-field-offset: v4l2_event.id: syz=84 kernel=92 [386]
+bad-field-offset: v4l2_event.id: syz=88 kernel=96 [arm]
bad-field-offset: v4l2_event.reserved: syz=88 kernel=96 [386]
+bad-field-offset: v4l2_event.reserved: syz=92 kernel=100 [arm]
no-such-struct: v4l2_event_union
no-such-struct: v4l2_event_ctrl_union
no-such-struct: v4l2_decoder_cmd_u
diff --git a/sys/linux/devio.txt.warn b/sys/linux/devio.txt.warn
index fd4e0a564..511437781 100644
--- a/sys/linux/devio.txt.warn
+++ b/sys/linux/devio.txt.warn
@@ -2,14 +2,14 @@ no-such-struct: usbdevfs_ep
no-such-struct: usbdevfs_urb_control
no-such-struct: usbdevfs_urb_bulk
no-such-struct: usbdevfs_urb_interrupt
-bad-field-size: usbdevfs_ioctl.usbdevfs_disconnect/ifno: syz=12 kernel=4 [386]
-bad-field-size: usbdevfs_ioctl.usbdevfs_disconnect/ifno: syz=16 kernel=4 [amd64]
-bad-field-size: usbdevfs_ioctl.usbdevfs_connect/ioctl_code: syz=12 kernel=4 [386]
-bad-field-offset: usbdevfs_ioctl.usbdevfs_connect/ioctl_code: syz=16 kernel=4 [amd64]
-bad-field-size: usbdevfs_ioctl.usbdevfs_driver/data: syz=12 kernel=4 [386]
-bad-field-size: usbdevfs_ioctl.usbdevfs_driver/data: syz=16 kernel=8 [amd64]
-bad-field-offset: usbdevfs_ioctl.usbdevfs_driver/data: syz=24 kernel=8 [386]
-bad-field-offset: usbdevfs_ioctl.usbdevfs_driver/data: syz=32 kernel=8 [amd64]
+bad-field-size: usbdevfs_ioctl.usbdevfs_disconnect/ifno: syz=12 kernel=4 [386,arm]
+bad-field-size: usbdevfs_ioctl.usbdevfs_disconnect/ifno: syz=16 kernel=4 [amd64,arm64]
+bad-field-offset: usbdevfs_ioctl.usbdevfs_connect/ioctl_code: syz=12 kernel=4 [386,arm]
+bad-field-size: usbdevfs_ioctl.usbdevfs_connect/ioctl_code: syz=16 kernel=4 [amd64,arm64]
+bad-field-size: usbdevfs_ioctl.usbdevfs_driver/data: syz=12 kernel=4 [386,arm]
+bad-field-size: usbdevfs_ioctl.usbdevfs_driver/data: syz=16 kernel=8 [amd64,arm64]
+bad-field-offset: usbdevfs_ioctl.usbdevfs_driver/data: syz=24 kernel=8 [386,arm]
+bad-field-offset: usbdevfs_ioctl.usbdevfs_driver/data: syz=32 kernel=8 [amd64,arm64]
no-such-struct: usbdevfs_ioctl_disconnect
no-such-struct: usbdevfs_ioctl_connect
no-such-struct: usbdevfs_ioctl_driver
diff --git a/sys/linux/inotify.txt.warn b/sys/linux/inotify.txt.warn
new file mode 100644
index 000000000..9b8920a23
--- /dev/null
+++ b/sys/linux/inotify.txt.warn
@@ -0,0 +1,2 @@
+compiler: unsupported syscall: inotify_init due to missing const __NR_inotify_init [arm64]
+compiler: unsupported syscall: ioctl$INOTIFY_IOC_SETNEXTWD due to missing const INOTIFY_IOC_SETNEXTWD [arm]
diff --git a/sys/linux/io_uring.txt.warn b/sys/linux/io_uring.txt.warn
new file mode 100644
index 000000000..9ecffca76
--- /dev/null
+++ b/sys/linux/io_uring.txt.warn
@@ -0,0 +1,3 @@
+bad-field-number: io_uring_files_update: syz=2 kernel=3 [arm,arm64]
+bad-struct-size: io_uring_files_update: syz=8 kernel=16 [arm]
+bad-field-size: io_uring_files_update.fds/resv: syz=8 kernel=4 [arm64]
diff --git a/sys/linux/ipc.txt.warn b/sys/linux/ipc.txt.warn
index 793a6022f..a75cc3985 100644
--- a/sys/linux/ipc.txt.warn
+++ b/sys/linux/ipc.txt.warn
@@ -1,52 +1,52 @@
compiler: unsupported syscall: semop due to missing const __NR_semop [386]
compiler: unsupported syscall: semtimedop due to missing const __NR_semtimedop [386]
-bad-struct-size: ipc_perm: syz=28 kernel=16 [386]
-bad-field-size: ipc_perm.uid: syz=4 kernel=2 [386]
-bad-field-size: ipc_perm.gid: syz=4 kernel=2 [386]
-bad-field-offset: ipc_perm.gid: syz=8 kernel=6 [386]
-bad-field-offset: ipc_perm.cuid: syz=12 kernel=8 [386]
-bad-field-size: ipc_perm.cuid: syz=4 kernel=2 [386]
-bad-field-offset: ipc_perm.cgid: syz=16 kernel=10 [386]
-bad-field-size: ipc_perm.cgid: syz=4 kernel=2 [386]
-bad-field-offset: ipc_perm.mode: syz=20 kernel=12 [386]
-bad-field-size: ipc_perm.mode: syz=4 kernel=2 [386]
-bad-field-offset: ipc_perm.seq: syz=24 kernel=14 [386]
-bad-struct-size: msqid_ds: syz=72 kernel=56 [386]
-bad-field-size: msqid_ds.msg_perm: syz=28 kernel=16 [386]
-bad-field-offset: msqid_ds.msg_first: syz=28 kernel=16 [386]
-bad-field-offset: msqid_ds.msg_last: syz=32 kernel=20 [386]
-bad-field-offset: msqid_ds.msg_stime: syz=36 kernel=24 [386]
-bad-field-offset: msqid_ds.msg_rtime: syz=40 kernel=28 [386]
-bad-field-offset: msqid_ds.msg_ctime: syz=44 kernel=32 [386]
-bad-field-offset: msqid_ds.msg_lcbytes: syz=48 kernel=36 [386]
-bad-field-offset: msqid_ds.msg_lqbytes: syz=52 kernel=40 [386]
-bad-field-offset: msqid_ds.msg_cbytes: syz=56 kernel=44 [386]
-bad-field-offset: msqid_ds.msg_qnum: syz=58 kernel=46 [386]
-bad-field-offset: msqid_ds.msg_qbytes: syz=60 kernel=48 [386]
-bad-field-size: msqid_ds.msg_lspid: syz=4 kernel=2 [386]
-bad-field-offset: msqid_ds.msg_lspid: syz=64 kernel=50 [386]
-bad-field-size: msqid_ds.msg_lrpid: syz=4 kernel=2 [386]
-bad-field-offset: msqid_ds.msg_lrpid: syz=68 kernel=52 [386]
-bad-struct-size: shmid_ds: syz=64 kernel=48 [386]
-bad-field-size: shmid_ds.shm_perm: syz=28 kernel=16 [386]
-bad-field-offset: shmid_ds.shm_segsz: syz=28 kernel=16 [386]
-bad-field-offset: shmid_ds.shm_atime: syz=32 kernel=20 [386]
-bad-field-offset: shmid_ds.shm_dtime: syz=36 kernel=24 [386]
-bad-field-offset: shmid_ds.shm_ctime: syz=40 kernel=28 [386]
-bad-field-size: shmid_ds.shm_cpid: syz=4 kernel=2 [386]
-bad-field-offset: shmid_ds.shm_cpid: syz=44 kernel=32 [386]
-bad-field-size: shmid_ds.shm_lpid: syz=4 kernel=2 [386]
-bad-field-offset: shmid_ds.shm_lpid: syz=48 kernel=34 [386]
-bad-field-offset: shmid_ds.shm_nattch: syz=52 kernel=36 [386]
-bad-field-offset: shmid_ds.shm_unused: syz=54 kernel=38 [386]
-bad-field-offset: shmid_ds.shm_unused2: syz=56 kernel=40 [386]
-bad-field-offset: shmid_ds.shm_unused3: syz=60 kernel=44 [386]
-bad-struct-size: semid_ds: syz=56 kernel=44 [386]
-bad-field-size: semid_ds.sem_perm: syz=28 kernel=16 [386]
-bad-field-offset: semid_ds.sem_otime: syz=28 kernel=16 [386]
-bad-field-offset: semid_ds.sem_ctime: syz=32 kernel=20 [386]
-bad-field-offset: semid_ds.sem_base: syz=36 kernel=24 [386]
-bad-field-offset: semid_ds.sem_pending: syz=40 kernel=28 [386]
-bad-field-offset: semid_ds.sem_pending_last: syz=44 kernel=32 [386]
-bad-field-offset: semid_ds.undo: syz=48 kernel=36 [386]
-bad-field-offset: semid_ds.sem_nsems: syz=52 kernel=40 [386]
+bad-struct-size: ipc_perm: syz=28 kernel=16 [386,arm]
+bad-field-size: ipc_perm.uid: syz=4 kernel=2 [386,arm]
+bad-field-size: ipc_perm.gid: syz=4 kernel=2 [386,arm]
+bad-field-offset: ipc_perm.gid: syz=8 kernel=6 [386,arm]
+bad-field-offset: ipc_perm.cuid: syz=12 kernel=8 [386,arm]
+bad-field-size: ipc_perm.cuid: syz=4 kernel=2 [386,arm]
+bad-field-offset: ipc_perm.cgid: syz=16 kernel=10 [386,arm]
+bad-field-size: ipc_perm.cgid: syz=4 kernel=2 [386,arm]
+bad-field-offset: ipc_perm.mode: syz=20 kernel=12 [386,arm]
+bad-field-size: ipc_perm.mode: syz=4 kernel=2 [386,arm]
+bad-field-offset: ipc_perm.seq: syz=24 kernel=14 [386,arm]
+bad-struct-size: msqid_ds: syz=72 kernel=56 [386,arm]
+bad-field-size: msqid_ds.msg_perm: syz=28 kernel=16 [386,arm]
+bad-field-offset: msqid_ds.msg_first: syz=28 kernel=16 [386,arm]
+bad-field-offset: msqid_ds.msg_last: syz=32 kernel=20 [386,arm]
+bad-field-offset: msqid_ds.msg_stime: syz=36 kernel=24 [386,arm]
+bad-field-offset: msqid_ds.msg_rtime: syz=40 kernel=28 [386,arm]
+bad-field-offset: msqid_ds.msg_ctime: syz=44 kernel=32 [386,arm]
+bad-field-offset: msqid_ds.msg_lcbytes: syz=48 kernel=36 [386,arm]
+bad-field-offset: msqid_ds.msg_lqbytes: syz=52 kernel=40 [386,arm]
+bad-field-offset: msqid_ds.msg_cbytes: syz=56 kernel=44 [386,arm]
+bad-field-offset: msqid_ds.msg_qnum: syz=58 kernel=46 [386,arm]
+bad-field-offset: msqid_ds.msg_qbytes: syz=60 kernel=48 [386,arm]
+bad-field-size: msqid_ds.msg_lspid: syz=4 kernel=2 [386,arm]
+bad-field-offset: msqid_ds.msg_lspid: syz=64 kernel=50 [386,arm]
+bad-field-size: msqid_ds.msg_lrpid: syz=4 kernel=2 [386,arm]
+bad-field-offset: msqid_ds.msg_lrpid: syz=68 kernel=52 [386,arm]
+bad-struct-size: shmid_ds: syz=64 kernel=48 [386,arm]
+bad-field-size: shmid_ds.shm_perm: syz=28 kernel=16 [386,arm]
+bad-field-offset: shmid_ds.shm_segsz: syz=28 kernel=16 [386,arm]
+bad-field-offset: shmid_ds.shm_atime: syz=32 kernel=20 [386,arm]
+bad-field-offset: shmid_ds.shm_dtime: syz=36 kernel=24 [386,arm]
+bad-field-offset: shmid_ds.shm_ctime: syz=40 kernel=28 [386,arm]
+bad-field-size: shmid_ds.shm_cpid: syz=4 kernel=2 [386,arm]
+bad-field-offset: shmid_ds.shm_cpid: syz=44 kernel=32 [386,arm]
+bad-field-size: shmid_ds.shm_lpid: syz=4 kernel=2 [386,arm]
+bad-field-offset: shmid_ds.shm_lpid: syz=48 kernel=34 [386,arm]
+bad-field-offset: shmid_ds.shm_nattch: syz=52 kernel=36 [386,arm]
+bad-field-offset: shmid_ds.shm_unused: syz=54 kernel=38 [386,arm]
+bad-field-offset: shmid_ds.shm_unused2: syz=56 kernel=40 [386,arm]
+bad-field-offset: shmid_ds.shm_unused3: syz=60 kernel=44 [386,arm]
+bad-struct-size: semid_ds: syz=56 kernel=44 [386,arm]
+bad-field-size: semid_ds.sem_perm: syz=28 kernel=16 [386,arm]
+bad-field-offset: semid_ds.sem_otime: syz=28 kernel=16 [386,arm]
+bad-field-offset: semid_ds.sem_ctime: syz=32 kernel=20 [386,arm]
+bad-field-offset: semid_ds.sem_base: syz=36 kernel=24 [386,arm]
+bad-field-offset: semid_ds.sem_pending: syz=40 kernel=28 [386,arm]
+bad-field-offset: semid_ds.sem_pending_last: syz=44 kernel=32 [386,arm]
+bad-field-offset: semid_ds.undo: syz=48 kernel=36 [386,arm]
+bad-field-offset: semid_ds.sem_nsems: syz=52 kernel=40 [386,arm]
diff --git a/sys/linux/mptcp.txt.warn b/sys/linux/mptcp.txt.warn
index adcd64b80..a203eaeff 100644
--- a/sys/linux/mptcp.txt.warn
+++ b/sys/linux/mptcp.txt.warn
@@ -1,4 +1,12 @@
+compiler: unsupported struct: mptcp_capable_option due to missing const OPTION_MP_CAPABLE [arm64]
+compiler: unsupported struct: mptcp_add_addr_option due to missing const OPTION_ADD_ADDR [arm64]
no-such-struct: mptcp_mp_join_option
+compiler: unsupported struct: mptcp_mp_join_option due to missing const OPTION_MP_JOIN [arm64]
no-such-struct: mptcp_syn_option
+compiler: unsupported struct: mptcp_syn_option due to missing const OPTION_TYPE_SYN [arm64]
no-such-struct: mptcp_synack_option
+compiler: unsupported struct: mptcp_synack_option due to missing const OPTION_TYPE_SYNACK [arm64]
+compiler: unsupported struct: mptcp_ack_option due to missing const OPTION_TYPE_ACK [arm64]
no-such-struct: mptcp_mp_fclose_option
+compiler: unsupported struct: mptcp_mp_fclose_option due to missing const OPTION_MP_FCLOSE [arm64]
+compiler: unsupported struct: mptcp_remove_addr_option due to missing const OPTION_REMOVE_ADDR [arm64]
diff --git a/sys/linux/netfilter.txt.warn b/sys/linux/netfilter.txt.warn
index 2a598049c..4f3f1d379 100644
--- a/sys/linux/netfilter.txt.warn
+++ b/sys/linux/netfilter.txt.warn
@@ -5,23 +5,23 @@ bad-field-size: xt_entry_match.match_size/u: syz=2 kernel=32
bad-field-offset: xt_entry_match.name/data: syz=2 kernel=32
bad-field-size: xt_entry_match.name/data: syz=29 kernel=0
no-such-struct: xt_entry_match_t
-bad-field-size: xt_cgroup_info_v1.priv: syz=8 kernel=4 [386]
-bad-field-size: xt_rateest_match_info.est1: syz=8 kernel=4 [386]
-bad-field-size: xt_rateest_match_info.est2: syz=8 kernel=4 [386]
-bad-field-size: xt_bpf_info.filter: syz=8 kernel=4 [386]
+bad-field-size: xt_cgroup_info_v1.priv: syz=8 kernel=4 [386,arm]
+bad-field-size: xt_rateest_match_info.est1: syz=8 kernel=4 [386,arm]
+bad-field-size: xt_rateest_match_info.est2: syz=8 kernel=4 [386,arm]
+bad-field-size: xt_bpf_info.filter: syz=8 kernel=4 [386,arm]
bad-field-number: xt_bpf_info_v1: syz=3 kernel=5
-bad-struct-size: xt_bpf_info_v1: syz=524 kernel=528 [386]
-bad-field-size: xt_bpf_info_v1.bytecode/mode: syz=524 kernel=2 [386]
-bad-field-size: xt_bpf_info_v1.bytecode/mode: syz=528 kernel=2 [amd64]
-bad-field-size: xt_bpf_info_v1.pinned/bpf_program_num_elem: syz=524 kernel=2 [386]
-bad-field-offset: xt_bpf_info_v1.pinned/bpf_program_num_elem: syz=528 kernel=2 [amd64]
-bad-field-offset: xt_bpf_info_v1.fd: syz=1048 kernel=4 [386]
-bad-field-offset: xt_bpf_info_v1.fd: syz=1056 kernel=4 [amd64]
+bad-struct-size: xt_bpf_info_v1: syz=524 kernel=528 [386,arm]
+bad-field-size: xt_bpf_info_v1.bytecode/mode: syz=524 kernel=2 [386,arm]
+bad-field-size: xt_bpf_info_v1.bytecode/mode: syz=528 kernel=2 [amd64,arm64]
+bad-field-offset: xt_bpf_info_v1.pinned/bpf_program_num_elem: syz=524 kernel=2 [386,arm]
+bad-field-offset: xt_bpf_info_v1.pinned/bpf_program_num_elem: syz=528 kernel=2 [amd64,arm64]
+bad-field-offset: xt_bpf_info_v1.fd: syz=1048 kernel=4 [386,arm]
+bad-field-offset: xt_bpf_info_v1.fd: syz=1056 kernel=4 [amd64,arm64]
bad-field-size: xt_bpf_info_v1.fd: syz=8 kernel=4
no-such-struct: xt_bpf_info_bytecode
no-such-struct: xt_bpf_info_pinned
no-such-struct: xt_bpf_info_fd
-bad-field-size: xt_connlimit_info.data: syz=8 kernel=4 [386]
+bad-field-size: xt_connlimit_info.data: syz=8 kernel=4 [386,arm]
no-such-struct: xt_conntrack_mtinfo_common
bad-field-number: xt_conntrack_mtinfo1: syz=3 kernel=19
bad-field-size: xt_conntrack_mtinfo1.common/origsrc_addr: syz=150 kernel=16
@@ -49,14 +49,14 @@ bad-field-offset: xt_conntrack_mtinfo3.replsrc_port_high/replsrc_mask: syz=158 k
bad-field-size: xt_conntrack_mtinfo3.replsrc_port_high/replsrc_mask: syz=2 kernel=16
bad-field-offset: xt_conntrack_mtinfo3.repldst_port_high/repldst_addr: syz=160 kernel=96
bad-field-size: xt_conntrack_mtinfo3.repldst_port_high/repldst_addr: syz=2 kernel=16
-bad-field-size: xt_quota_info.master: syz=8 kernel=4 [386]
-bad-field-size: xt_hashlimit_mtinfo1.hinfo: syz=8 kernel=4 [386]
-bad-field-size: xt_hashlimit_mtinfo2.hinfo: syz=8 kernel=4 [386]
-bad-field-size: xt_hashlimit_mtinfo3.hinfo: syz=8 kernel=4 [386]
+bad-field-size: xt_quota_info.master: syz=8 kernel=4 [386,arm]
+bad-field-size: xt_hashlimit_mtinfo1.hinfo: syz=8 kernel=4 [386,arm]
+bad-field-size: xt_hashlimit_mtinfo2.hinfo: syz=8 kernel=4 [386,arm]
+bad-field-size: xt_hashlimit_mtinfo3.hinfo: syz=8 kernel=4 [386,arm]
no-such-struct: xt_comment_info
bad-field-number: xt_statistic_info: syz=6 kernel=4
bad-field-size: xt_statistic_info.every/u: syz=4 kernel=12
-bad-field-size: xt_statistic_info.packet/master: syz=4 kernel=8 [amd64]
+bad-field-size: xt_statistic_info.packet/master: syz=4 kernel=8 [amd64,arm64]
bad-field-offset: xt_statistic_info.packet/master: syz=8 kernel=16
no-such-struct: xt_recent_mtinfo
bad-field-number: xt_policy_elem: syz=10 kernel=7
@@ -72,4 +72,4 @@ bad-field-offset: xt_policy_elem.spi/mode: syz=64 kernel=73
bad-field-size: xt_policy_elem.reqid/match: syz=4 kernel=1
bad-field-offset: xt_policy_elem.reqid/match: syz=68 kernel=74
bad-field-offset: xt_policy_elem.proto/invert: syz=72 kernel=75
-bad-field-size: xt_string_info.config: syz=8 kernel=4 [386]
+bad-field-size: xt_string_info.config: syz=8 kernel=4 [386,arm]
diff --git a/sys/linux/netfilter_bridge.txt.warn b/sys/linux/netfilter_bridge.txt.warn
index 9df21e594..30c0fd8e2 100644
--- a/sys/linux/netfilter_bridge.txt.warn
+++ b/sys/linux/netfilter_bridge.txt.warn
@@ -5,8 +5,8 @@ no-such-struct: ebt_get_entries
bad-field-size: ebt_entry_match.name/u: syz=31 kernel=32
bad-field-size: ebt_entry_match.revision/match_size: syz=1 kernel=4
bad-field-offset: ebt_entry_match.revision/match_size: syz=31 kernel=32
-bad-field-offset: ebt_entry_match.match_size/data: syz=32 kernel=36 [386]
-bad-field-offset: ebt_entry_match.match_size/data: syz=32 kernel=40 [amd64]
+bad-field-offset: ebt_entry_match.match_size/data: syz=32 kernel=36 [386,arm]
+bad-field-offset: ebt_entry_match.match_size/data: syz=32 kernel=40 [amd64,arm64]
bad-field-size: ebt_entry_match.match_size/data: syz=4 kernel=0
no-such-struct: ebt_entry_match_t
no-such-struct: xt_padded
@@ -19,27 +19,27 @@ bad-field-number: ebt_ip6_info: syz=12 kernel=10
bad-field-size: ebt_ip6_info.sport_min/: syz=2 kernel=4
bad-field-size: ebt_ip6_info.sport_max/: syz=2 kernel=4
bad-field-offset: ebt_ip6_info.sport_max/: syz=70 kernel=72
-bad-struct-size: ebt_entry_target: syz=112 kernel=36 [386]
-bad-struct-size: ebt_entry_target: syz=120 kernel=40 [amd64]
-bad-struct-size: ebt_entry_target: syz=300 kernel=36 [386]
-bad-struct-size: ebt_entry_target: syz=304 kernel=40 [amd64]
-bad-struct-size: ebt_entry_target: syz=40 kernel=36 [386]
-bad-struct-size: ebt_entry_target: syz=44 kernel=36 [386]
-bad-struct-size: ebt_entry_target: syz=48 kernel=36 [386]
-bad-struct-size: ebt_entry_target: syz=48 kernel=40 [amd64]
-bad-struct-size: ebt_entry_target: syz=56 kernel=40 [amd64]
-bad-struct-size: ebt_entry_target: syz=68 kernel=36 [386]
-bad-struct-size: ebt_entry_target: syz=72 kernel=36 [386]
-bad-struct-size: ebt_entry_target: syz=72 kernel=40 [amd64]
-bad-struct-size: ebt_entry_target: syz=76 kernel=36 [386]
-bad-struct-size: ebt_entry_target: syz=80 kernel=40 [amd64]
-bad-field-size: ebt_entry_target.data: syz=12 kernel=0 [386]
-bad-field-size: ebt_entry_target.data: syz=16 kernel=0 [amd64]
+bad-struct-size: ebt_entry_target: syz=112 kernel=36 [386,arm]
+bad-struct-size: ebt_entry_target: syz=120 kernel=40 [amd64,arm64]
+bad-struct-size: ebt_entry_target: syz=300 kernel=36 [386,arm]
+bad-struct-size: ebt_entry_target: syz=304 kernel=40 [amd64,arm64]
+bad-struct-size: ebt_entry_target: syz=40 kernel=36 [386,arm]
+bad-struct-size: ebt_entry_target: syz=44 kernel=36 [386,arm]
+bad-struct-size: ebt_entry_target: syz=48 kernel=36 [386,arm]
+bad-struct-size: ebt_entry_target: syz=48 kernel=40 [amd64,arm64]
+bad-struct-size: ebt_entry_target: syz=56 kernel=40 [amd64,arm64]
+bad-struct-size: ebt_entry_target: syz=68 kernel=36 [386,arm]
+bad-struct-size: ebt_entry_target: syz=72 kernel=36 [386,arm]
+bad-struct-size: ebt_entry_target: syz=72 kernel=40 [amd64,arm64]
+bad-struct-size: ebt_entry_target: syz=76 kernel=36 [386,arm]
+bad-struct-size: ebt_entry_target: syz=80 kernel=40 [amd64,arm64]
+bad-field-size: ebt_entry_target.data: syz=12 kernel=0 [386,arm]
+bad-field-size: ebt_entry_target.data: syz=16 kernel=0 [amd64,arm64]
bad-field-size: ebt_entry_target.data: syz=264 kernel=0
bad-field-size: ebt_entry_target.data: syz=32 kernel=0
-bad-field-size: ebt_entry_target.data: syz=36 kernel=0 [386]
-bad-field-size: ebt_entry_target.data: syz=4 kernel=0 [386]
+bad-field-size: ebt_entry_target.data: syz=36 kernel=0 [386,arm]
+bad-field-size: ebt_entry_target.data: syz=4 kernel=0 [386,arm]
bad-field-size: ebt_entry_target.data: syz=40 kernel=0
-bad-field-size: ebt_entry_target.data: syz=76 kernel=0 [386]
+bad-field-size: ebt_entry_target.data: syz=76 kernel=0 [386,arm]
bad-field-size: ebt_entry_target.data: syz=8 kernel=0
-bad-field-size: ebt_entry_target.data: syz=80 kernel=0 [amd64]
+bad-field-size: ebt_entry_target.data: syz=80 kernel=0 [amd64,arm64]
diff --git a/sys/linux/netfilter_targets.txt.warn b/sys/linux/netfilter_targets.txt.warn
index 2355732e4..4714b4ca6 100644
--- a/sys/linux/netfilter_targets.txt.warn
+++ b/sys/linux/netfilter_targets.txt.warn
@@ -1,10 +1,10 @@
no-such-struct: xt_target_t
-bad-field-size: xt_tee_tginfo.priv: syz=8 kernel=4 [386]
-bad-field-size: xt_led_info.internal_data: syz=8 kernel=4 [386]
-bad-field-size: xt_rateest_target_info.est: syz=8 kernel=4 [386]
-bad-field-size: idletimer_tg_info.timer: syz=8 kernel=4 [386]
-bad-field-size: xt_ct_target_info.ct: syz=8 kernel=4 [386]
-bad-field-size: xt_ct_target_info_v1.ct: syz=8 kernel=4 [386]
+bad-field-size: xt_tee_tginfo.priv: syz=8 kernel=4 [386,arm]
+bad-field-size: xt_led_info.internal_data: syz=8 kernel=4 [386,arm]
+bad-field-size: xt_rateest_target_info.est: syz=8 kernel=4 [386,arm]
+bad-field-size: idletimer_tg_info.timer: syz=8 kernel=4 [386,arm]
+bad-field-size: xt_ct_target_info.ct: syz=8 kernel=4 [386,arm]
+bad-field-size: xt_ct_target_info_v1.ct: syz=8 kernel=4 [386,arm]
bad-field-number: xt_hmark_info: syz=11 kernel=9
bad-field-size: xt_hmark_info.src_port_mask/port_mask: syz=2 kernel=4
bad-field-size: xt_hmark_info.dst_port_mask/port_set: syz=2 kernel=4
diff --git a/sys/linux/prctl.txt.warn b/sys/linux/prctl.txt.warn
new file mode 100644
index 000000000..919d7cace
--- /dev/null
+++ b/sys/linux/prctl.txt.warn
@@ -0,0 +1,9 @@
+compiler: unsupported syscall: arch_prctl due to missing const __NR_arch_prctl [arm,arm64]
+compiler: unsupported syscall: arch_prctl$ARCH_GET_FS due to missing const ARCH_GET_FS [arm,arm64]
+compiler: unsupported syscall: arch_prctl$ARCH_GET_GS due to missing const ARCH_GET_GS [arm,arm64]
+compiler: unsupported syscall: arch_prctl$ARCH_SET_GS due to missing const ARCH_SET_GS [arm,arm64]
+compiler: unsupported syscall: arch_prctl$ARCH_GET_CPUID due to missing const ARCH_GET_CPUID [arm,arm64]
+compiler: unsupported syscall: arch_prctl$ARCH_SET_CPUID due to missing const ARCH_SET_CPUID [arm,arm64]
+compiler: unsupported syscall: arch_prctl$ARCH_MAP_VDSO_X32 due to missing const ARCH_MAP_VDSO_X32 [arm,arm64]
+compiler: unsupported syscall: arch_prctl$ARCH_MAP_VDSO_32 due to missing const ARCH_MAP_VDSO_32 [arm,arm64]
+compiler: unsupported syscall: arch_prctl$ARCH_MAP_VDSO_64 due to missing const ARCH_MAP_VDSO_64 [arm,arm64]
diff --git a/sys/linux/socket.txt.warn b/sys/linux/socket.txt.warn
index 9b03e38ea..6b588dddd 100644
--- a/sys/linux/socket.txt.warn
+++ b/sys/linux/socket.txt.warn
@@ -15,18 +15,18 @@ no-such-struct: recv_msghdr
no-such-struct: recv_mmsghdr
no-such-struct: cmsghdr_t
no-such-struct: cmsghdr_unaligned
-compiler: unsupported syscall: ioctl$SIOCGSTAMP due to missing const SIOCGSTAMP [386]
-compiler: unsupported syscall: ioctl$SIOCGSTAMPNS due to missing const SIOCGSTAMPNS [386]
+compiler: unsupported syscall: ioctl$SIOCGSTAMP due to missing const SIOCGSTAMP [386,arm]
+compiler: unsupported syscall: ioctl$SIOCGSTAMPNS due to missing const SIOCGSTAMPNS [386,arm]
no-such-struct: ifreq_dev_t
no-such-struct: ifr_ifru
no-such-struct: vlan_args
no-such-struct: vlan_args_u
no-such-struct: devname_mask
no-such-struct: ifs_ifsu
-bad-field-size: ifconf.req/ifc_len: syz=16 kernel=4 [amd64]
-bad-field-size: ifconf.req/ifc_len: syz=8 kernel=4 [386]
-bad-field-offset: ifconf.buf/ifc_ifcu: syz=16 kernel=8 [amd64]
-bad-field-size: ifconf.buf/ifc_ifcu: syz=8 kernel=4 [386]
+bad-field-size: ifconf.req/ifc_len: syz=16 kernel=4 [amd64,arm64]
+bad-field-size: ifconf.req/ifc_len: syz=8 kernel=4 [386,arm]
+bad-field-size: ifconf.buf/ifc_ifcu: syz=16 kernel=8 [amd64,arm64]
+bad-field-offset: ifconf.buf/ifc_ifcu: syz=8 kernel=4 [386,arm]
no-such-struct: ifconf_buf
no-such-struct: ifconf_req
no-such-struct: brctl_arg
diff --git a/sys/linux/socket_netlink.txt.warn b/sys/linux/socket_netlink.txt.warn
index eef42acdd..76629ea27 100644
--- a/sys/linux/socket_netlink.txt.warn
+++ b/sys/linux/socket_netlink.txt.warn
@@ -1,6 +1,6 @@
bad-field-number: sockaddr_nl: syz=3 kernel=4
bad-field-size: sockaddr_nl.kern/nl_family: syz=12 kernel=2
-bad-field-offset: sockaddr_nl.proc/nl_pad: syz=12 kernel=2
+bad-field-size: sockaddr_nl.proc/nl_pad: syz=12 kernel=2
bad-field-size: sockaddr_nl.unspec/nl_pid: syz=12 kernel=4
bad-field-offset: sockaddr_nl.unspec/nl_pid: syz=24 kernel=4
no-such-struct: sockaddr_nl_send
diff --git a/sys/linux/socket_netlink_route_sched.txt.warn b/sys/linux/socket_netlink_route_sched.txt.warn
index 89dc06508..db830ff49 100644
--- a/sys/linux/socket_netlink_route_sched.txt.warn
+++ b/sys/linux/socket_netlink_route_sched.txt.warn
@@ -29,7 +29,7 @@ no-such-struct: m_pedit_key_ex
bad-field-number: tc_skbmod: syz=2 kernel=6
bad-field-size: tc_skbmod.tc_gen/index: syz=20 kernel=4
bad-field-offset: tc_skbmod.flags/capab: syz=20 kernel=4 [386]
-bad-field-offset: tc_skbmod.flags/capab: syz=24 kernel=4 [amd64]
+bad-field-offset: tc_skbmod.flags/capab: syz=24 kernel=4 [amd64,arm,arm64]
bad-field-size: tc_skbmod.flags/capab: syz=8 kernel=4
bad-field-number: tc_tunnel_key: syz=2 kernel=6
bad-field-size: tc_tunnel_key.tc_gen/index: syz=20 kernel=4
diff --git a/sys/linux/socket_vnet.txt.warn b/sys/linux/socket_vnet.txt.warn
index a98c75968..99f84040b 100644
--- a/sys/linux/socket_vnet.txt.warn
+++ b/sys/linux/socket_vnet.txt.warn
@@ -1,6 +1,6 @@
no-such-struct: vmaddr_cid
no-such-struct: vmaddr_cid64
bad-field-size: vhost_msg.iotlb/: syz=28 kernel=64 [386]
-bad-field-size: vhost_msg.iotlb/: syz=32 kernel=64 [amd64]
+bad-field-size: vhost_msg.iotlb/: syz=32 kernel=64 [amd64,arm,arm64]
bad-field-size: vhost_msg_v2.iotlb/: syz=28 kernel=64 [386]
-bad-field-size: vhost_msg_v2.iotlb/: syz=32 kernel=64 [amd64]
+bad-field-size: vhost_msg_v2.iotlb/: syz=32 kernel=64 [amd64,arm,arm64]
diff --git a/sys/linux/sys.txt.warn b/sys/linux/sys.txt.warn
index 52e536b08..b0d5c4a64 100644
--- a/sys/linux/sys.txt.warn
+++ b/sys/linux/sys.txt.warn
@@ -1,71 +1,118 @@
no-such-struct: alignptr
no-such-struct: align32
no-such-struct: align64
-compiler: unsupported syscall: sendfile64 due to missing const __NR_sendfile64 [amd64]
-compiler: unsupported syscall: newfstatat due to missing const __NR_newfstatat [386]
-compiler: unsupported syscall: stat64 due to missing const __NR_stat64 [amd64]
-compiler: unsupported syscall: lstat64 due to missing const __NR_lstat64 [amd64]
-compiler: unsupported syscall: fstat64 due to missing const __NR_fstat64 [amd64]
-compiler: unsupported syscall: fstatat64 due to missing const __NR_fstatat64 [amd64]
+compiler: unsupported syscall: open due to missing const __NR_open [arm64]
+compiler: unsupported syscall: creat due to missing const __NR_creat [arm64]
+compiler: unsupported syscall: dup2 due to missing const __NR_dup2 [arm64]
+compiler: unsupported syscall: pipe due to missing const __NR_pipe [arm64]
+compiler: unsupported syscall: sendfile64 due to missing const __NR_sendfile64 [amd64,arm64]
+compiler: unsupported syscall: stat due to missing const __NR_stat [arm64]
+compiler: unsupported syscall: lstat due to missing const __NR_lstat [arm64]
+compiler: unsupported syscall: newfstatat due to missing const __NR_newfstatat [386,arm]
+compiler: unsupported syscall: stat64 due to missing const __NR_stat64 [amd64,arm64]
+compiler: unsupported syscall: lstat64 due to missing const __NR_lstat64 [amd64,arm64]
+compiler: unsupported syscall: fstat64 due to missing const __NR_fstat64 [amd64,arm64]
+compiler: unsupported syscall: fstatat64 due to missing const __NR_fstatat64 [amd64,arm64]
+compiler: unsupported syscall: poll due to missing const __NR_poll [arm64]
+compiler: unsupported syscall: select due to missing const __NR_select [arm,arm64]
+compiler: unsupported syscall: epoll_create due to missing const __NR_epoll_create [arm64]
+compiler: unsupported syscall: epoll_wait due to missing const __NR_epoll_wait [arm64]
+compiler: unsupported syscall: signalfd due to missing const __NR_signalfd [arm64]
+compiler: unsupported syscall: eventfd due to missing const __NR_eventfd [arm64]
+compiler: unsupported syscall: fadvise64 due to missing const __NR_fadvise64 [arm]
+compiler: unsupported syscall: mknod due to missing const __NR_mknod [arm64]
+compiler: unsupported syscall: chmod due to missing const __NR_chmod [arm64]
+compiler: unsupported syscall: chown due to missing const __NR_chown [arm64]
+compiler: unsupported syscall: lchown due to missing const __NR_lchown [arm64]
+compiler: unsupported syscall: utime due to missing const __NR_utime [arm,arm64]
+compiler: unsupported syscall: utimes due to missing const __NR_utimes [arm64]
+compiler: unsupported syscall: futimesat due to missing const __NR_futimesat [arm64]
+compiler: unsupported syscall: getpgrp due to missing const __NR_getpgrp [arm64]
+compiler: unsupported syscall: link due to missing const __NR_link [arm64]
+compiler: unsupported syscall: symlink due to missing const __NR_symlink [arm64]
+compiler: unsupported syscall: unlink due to missing const __NR_unlink [arm64]
+compiler: unsupported syscall: readlink due to missing const __NR_readlink [arm64]
+compiler: unsupported syscall: rename due to missing const __NR_rename [arm64]
+compiler: unsupported syscall: mkdir due to missing const __NR_mkdir [arm64]
+compiler: unsupported syscall: rmdir due to missing const __NR_rmdir [arm64]
+compiler: unsupported syscall: sync_file_range due to missing const __NR_sync_file_range [arm]
+compiler: unsupported syscall: getdents due to missing const __NR_getdents [arm64]
+compiler: unsupported syscall: sysfs due to missing const __NR_sysfs [arm64]
+compiler: unsupported syscall: uselib due to missing const __NR_uselib [arm64]
+compiler: unsupported syscall: ustat due to missing const __NR_ustat [arm64]
+compiler: unsupported syscall: getrlimit due to missing const __NR_getrlimit [arm]
+compiler: unsupported syscall: iopl due to missing const __NR_iopl [arm,arm64]
+compiler: unsupported syscall: ioperm due to missing const __NR_ioperm [arm,arm64]
+compiler: unsupported syscall: time due to missing const __NR_time [arm,arm64]
+compiler: unsupported syscall: pause due to missing const __NR_pause [arm64]
+compiler: unsupported syscall: alarm due to missing const __NR_alarm [arm,arm64]
+compiler: unsupported syscall: set_thread_area due to missing const __NR_set_thread_area [arm,arm64]
+compiler: unsupported syscall: get_thread_area due to missing const __NR_get_thread_area [arm,arm64]
+compiler: unsupported syscall: modify_ldt due to missing const __NR_modify_ldt [arm,arm64]
no-such-struct: pipefd
bad-struct-size: stat: syz=128 kernel=144 [amd64]
-bad-field-number: stat: syz=20 kernel=18
-bad-struct-size: stat: syz=80 kernel=64 [386]
+bad-field-number: stat: syz=20 kernel=18 [386,amd64,arm]
+bad-struct-size: stat: syz=80 kernel=64 [386,arm]
bad-field-size: stat.st_mode/st_nlink: syz=4 kernel=8 [amd64]
-bad-field-size: stat.st_mode: syz=4 kernel=2 [386]
+bad-field-size: stat.st_mode: syz=4 kernel=2 [386,arm]
bad-field-offset: stat.st_nlink/st_mode: syz=20 kernel=24 [amd64]
-bad-field-offset: stat.st_nlink: syz=12 kernel=10 [386]
-bad-field-size: stat.st_nlink: syz=4 kernel=2 [386]
-bad-field-offset: stat.st_uid: syz=16 kernel=12 [386]
+bad-field-offset: stat.st_nlink: syz=12 kernel=10 [386,arm]
+bad-field-size: stat.st_nlink: syz=4 kernel=2 [386,arm]
+bad-field-offset: stat.st_uid: syz=16 kernel=12 [386,arm]
bad-field-offset: stat.st_uid: syz=24 kernel=28 [amd64]
-bad-field-size: stat.st_uid: syz=4 kernel=2 [386]
-bad-field-offset: stat.st_gid: syz=20 kernel=14 [386]
+bad-field-size: stat.st_uid: syz=4 kernel=2 [386,arm]
+bad-field-offset: stat.st_gid: syz=20 kernel=14 [386,arm]
bad-field-offset: stat.st_gid: syz=28 kernel=32 [amd64]
-bad-field-size: stat.st_gid: syz=4 kernel=2 [386]
+bad-field-size: stat.st_gid: syz=4 kernel=2 [386,arm]
bad-field-offset: stat.st_rdev/__pad0: syz=32 kernel=36 [amd64]
bad-field-size: stat.st_rdev/__pad0: syz=8 kernel=4 [amd64]
-bad-field-offset: stat.st_rdev: syz=24 kernel=16 [386]
-bad-field-offset: stat.__pad1/st_size: syz=28 kernel=20 [386]
-bad-field-offset: stat.st_size/st_blksize: syz=32 kernel=24 [386]
-bad-field-offset: stat.st_blksize/st_blocks: syz=36 kernel=28 [386]
+bad-field-offset: stat.st_rdev: syz=24 kernel=16 [386,arm]
+bad-field-offset: stat.__pad1/st_size: syz=28 kernel=20 [386,arm]
+bad-field-offset: stat.st_size/st_blksize: syz=32 kernel=24 [386,arm]
+bad-field-offset: stat.st_blksize/st_blocks: syz=36 kernel=28 [386,arm]
bad-field-size: stat.st_blksize: syz=4 kernel=8 [amd64]
-bad-field-offset: stat.__pad2/st_atime: syz=40 kernel=32 [386]
+bad-field-offset: stat.__pad2/st_atime: syz=40 kernel=32 [386,arm]
bad-field-size: stat.__pad2/st_blocks: syz=4 kernel=8 [amd64]
bad-field-offset: stat.__pad2/st_blocks: syz=60 kernel=64 [amd64]
bad-field-offset: stat.st_blocks/st_atime: syz=64 kernel=72 [amd64]
-bad-field-offset: stat.st_blocks/st_atime_nsec: syz=44 kernel=36 [386]
+bad-field-offset: stat.st_blocks/st_atime_nsec: syz=44 kernel=36 [386,arm]
bad-field-offset: stat.st_atime/st_atime_nsec: syz=72 kernel=80 [amd64]
-bad-field-offset: stat.st_atime/st_mtime: syz=48 kernel=40 [386]
+bad-field-offset: stat.st_atime/st_mtime: syz=48 kernel=40 [386,arm]
bad-field-offset: stat.st_atime_nsec/st_mtime: syz=80 kernel=88 [amd64]
-bad-field-offset: stat.st_atime_nsec/st_mtime_nsec: syz=52 kernel=44 [386]
-bad-field-offset: stat.st_mtime/st_ctime: syz=56 kernel=48 [386]
+bad-field-offset: stat.st_atime_nsec/st_mtime_nsec: syz=52 kernel=44 [386,arm]
+bad-field-offset: stat.st_mtime/st_ctime: syz=56 kernel=48 [386,arm]
bad-field-offset: stat.st_mtime/st_mtime_nsec: syz=88 kernel=96 [amd64]
bad-field-offset: stat.st_mtime_nsec/st_ctime: syz=96 kernel=104 [amd64]
-bad-field-offset: stat.st_mtime_nsec/st_ctime_nsec: syz=60 kernel=52 [386]
-bad-field-offset: stat.st_ctime/__unused4: syz=64 kernel=56 [386]
+bad-field-offset: stat.st_mtime_nsec/st_ctime_nsec: syz=60 kernel=52 [386,arm]
+bad-field-offset: stat.st_ctime/__unused4: syz=64 kernel=56 [386,arm]
bad-field-offset: stat.st_ctime/st_ctime_nsec: syz=104 kernel=112 [amd64]
-bad-field-offset: stat.st_ctime_nsec/__unused5: syz=68 kernel=60 [386]
+bad-field-offset: stat.st_ctime_nsec/__unused5: syz=68 kernel=60 [386,arm]
bad-field-offset: stat.st_ctime_nsec/__unused: syz=112 kernel=120 [amd64]
bad-field-size: stat.st_ctime_nsec/__unused: syz=8 kernel=24 [amd64]
compiler: unsupported type: stat64 due to missing const STAT64_SIZE [amd64]
no-such-struct: sigset
no-such-struct: sigset_size
-no-such-struct: timespec [amd64]
-no-such-struct: timeval [amd64]
+no-such-struct: timespec [amd64,arm,arm64]
+no-such-struct: timeval [amd64,arm,arm64]
no-such-struct: itimerspec
no-such-struct: itimerval
no-such-struct: utimbuf [386]
-bad-field-size: sigevent.u/_sigev_un: syz=16 kernel=48 [amd64]
-bad-field-size: sigevent.u/_sigev_un: syz=8 kernel=52 [386]
+bad-field-size: sigevent.u/_sigev_un: syz=16 kernel=48 [amd64,arm64]
+bad-field-size: sigevent.u/_sigev_un: syz=8 kernel=52 [386,arm]
no-such-struct: sigevent_u
no-such-struct: sigevent_thread
no-such-struct: cap_header
no-such-struct: cap_data
+bad-struct-size: epoll_event: syz=12 kernel=16 [arm,arm64]
+bad-field-offset: epoll_event.data: syz=4 kernel=8 [arm,arm64]
no-such-struct: fd_set
-bad-field-size: sigaction.mask/sa_flags: syz=8 kernel=4 [386]
+bad-struct-size: sigaction: syz=24 kernel=20 [arm]
+bad-field-size: sigaction.mask/sa_flags: syz=8 kernel=4 [386,arm]
bad-field-offset: sigaction.flags/sa_restorer: syz=12 kernel=8 [386]
+bad-field-offset: sigaction.flags/sa_restorer: syz=16 kernel=8 [arm]
bad-field-offset: sigaction.restor/sa_mask: syz=16 kernel=12 [386]
-bad-field-size: sigaction.restor/sa_mask: syz=4 kernel=8 [386]
+bad-field-offset: sigaction.restor/sa_mask: syz=20 kernel=12 [arm]
+bad-field-size: sigaction.restor/sa_mask: syz=4 kernel=8 [386,arm]
bad-field-number: siginfo: syz=3 kernel=1
bad-field-size: siginfo.signo/: syz=4 kernel=128
no-such-struct: timex
diff --git a/tools/syz-check/check.go b/tools/syz-check/check.go
index 80f773be1..f3ac27f2d 100644
--- a/tools/syz-check/check.go
+++ b/tools/syz-check/check.go
@@ -34,11 +34,13 @@ import (
func main() {
var (
flagOS = flag.String("os", runtime.GOOS, "OS")
- flagObjAMD64 = flag.String("obj-amd64", "", "amd64 kernel object file")
- flagObj386 = flag.String("obj-386", "", "386 kernel object file")
flagCPUProfile = flag.String("cpuprofile", "", "write CPU profile to this file")
flagMEMProfile = flag.String("memprofile", "", "write memory profile to this file")
)
+ arches := map[string]*string{"amd64": nil, "386": nil, "arm64": nil, "arm": nil}
+ for arch := range arches {
+ arches[arch] = flag.String("obj-"+arch, "", arch+" kernel object file")
+ }
failf := func(msg string, args ...interface{}) {
fmt.Fprintf(os.Stderr, msg+"\n", args...)
os.Exit(1)
@@ -68,16 +70,16 @@ func main() {
}
}()
}
- warnings1, err := check(*flagOS, "amd64", *flagObjAMD64)
- if err != nil {
- failf("%v", err)
- }
- runtime.GC()
- warnings2, err := check(*flagOS, "386", *flagObj386)
- if err != nil {
- failf("%v", err)
+ var warnings []Warn
+ for arch, obj := range arches {
+ warnings1, err := check(*flagOS, arch, *obj)
+ if err != nil {
+ failf("%v", err)
+ }
+ warnings = append(warnings, warnings1...)
+ runtime.GC()
}
- if err := writeWarnings(*flagOS, append(warnings1, warnings2...)); err != nil {
+ if err := writeWarnings(*flagOS, len(arches), warnings); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
@@ -120,7 +122,7 @@ type Warn struct {
msg string
}
-func writeWarnings(OS string, warnings []Warn) error {
+func writeWarnings(OS string, narches int, warnings []Warn) error {
allFiles, err := filepath.Glob(filepath.Join("sys", OS, "*.warn"))
if err != nil {
return err
@@ -157,7 +159,7 @@ func writeWarnings(OS string, warnings []Warn) error {
i++
}
archStr := ""
- if len(arches) < 2 {
+ if len(arches) < narches {
archStr = fmt.Sprintf(" [%v]", strings.Join(arches, ","))
}
fmt.Fprintf(buf, "%v: %v%v\n", warn.typ, warn.msg, archStr)