Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add minimal arm64 kernel build configuration #4568

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion CONTRIBUTORS
Original file line number Diff line number Diff line change
Expand Up @@ -125,4 +125,5 @@ Dylan Yudaken
Marius Fleischer
Piotr Siminski
Purdue University
Sungwoo Kim
Sungwoo Kim
Lukas Bulwahn
5 changes: 5 additions & 0 deletions dashboard/config/linux/bits/allnoconfig.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Copyright 2024 syzkaller project authors. All rights reserved.
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.

shell:
- make allnoconfig
16 changes: 15 additions & 1 deletion dashboard/config/linux/bits/base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,10 @@ config:
- KALLSYMS_ALL
- KALLSYMS_BASE_RELATIVE

# NET_NS depends on NET, NETDEVICES and NET_CORE are needed for any network device.
- NET
- NETDEVICES
- NET_CORE
# For namespace sandbox.
- NAMESPACES
- USER_NS
Expand All @@ -74,6 +78,7 @@ config:
- NET_NS

# Control groups are needed for better sandboxing of test processes.
- CGROUPS
- CGROUP_PIDS
- MEMCG

Expand Down Expand Up @@ -164,12 +169,21 @@ config:
- UEVENT_HELPER_PATH: "/sbin/hotplug"

# QEMU disk is usually on the generic PCI bus.
- PCI
- PCI_HOST_GENERIC: [v4.16]
- OF: [v4.16]

# Options enabled to boot Debian Stretch.
# Options enabled to boot Debian Stretch, Bullseye and Bookworm
- EXT4_FS
- BINFMT_ELF
- TMPFS
- UNIX
- CONFIGFS_FS
- SECURITYFS
- BINFMT_SCRIPT
- BINFMT_MISC
- INET
- PACKET

# More debugging info is always good.
- NMI_CHECK_CPU: [x86_64, v6.3]
Expand Down
1 change: 1 addition & 0 deletions dashboard/config/linux/bits/kfence.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.

config:
- JUMP_LABEL
- KFENCE
- KFENCE_STATIC_KEYS
- KFENCE_SAMPLE_INTERVAL: 100
Expand Down
5 changes: 0 additions & 5 deletions dashboard/config/linux/bits/net.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,7 @@
# This file enables most networking subsystems that syzkaller can test.

config:
- NET
- PACKET
- PACKET_DIAG
- UNIX
- UNIX_DIAG
- TLS
- TLS_DEVICE
Expand All @@ -23,7 +20,6 @@ config:
- SMC_DIAG
- XDP_SOCKETS
- XDP_SOCKETS_DIAG
- INET
- IP_MULTICAST
- IP_ADVANCED_ROUTER
- IP_FIB_TRIE_STATS
Expand Down Expand Up @@ -406,7 +402,6 @@ config:
- NFC_SIM
- NFC_FDP

- NETDEVICES
- BONDING
- DUMMY
- WIREGUARD: [v5.6, -kmsan]
Expand Down
16 changes: 16 additions & 0 deletions dashboard/config/linux/bits/qemu_virt_arm64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Copyright 2024 syzkaller project authors. All rights reserved.
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.

config:
- ARM_AMBA
- SERIAL_AMBA_PL011
- SERIAL_AMBA_PL011_CONSOLE
# Basics for virtio devices
- VIRTIO
- VIRTIO_MENU
# VIRTIO_BLK needs BLOCK AND BLK_DEV
- BLOCK
- BLK_DEV
- VIRTIO_BLK
- VIRTIO_NET
- VIRTIO_PCI
6 changes: 0 additions & 6 deletions dashboard/config/linux/bits/subsystems.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ config:
- X86_USER_SHADOW_STACK: [x86_64, v6.6]
# KMSAN disables HYPERVISOR_GUEST which is required to enable this.
- X86_X2APIC: [x86_64, -kmsan]
- CGROUPS
- BLK_CGROUP
- CGROUP_SCHED
- FAIR_GROUP_SCHED
Expand Down Expand Up @@ -76,7 +75,6 @@ config:
# which is required to enable this.
- X86_SGX: [x86_64, v5.11, -kmsan]
- X86_SGX_KVM: [x86_64, v6.0, -kmsan]
- JUMP_LABEL
- MODULES
- MODULE_UNLOAD
- MODULE_FORCE_UNLOAD
Expand All @@ -94,8 +92,6 @@ config:
- IOSCHED_BFQ
- BFQ_GROUP_IOSCHED
- BFQ_CGROUP_DEBUG
- BINFMT_MISC
- BINFMT_SCRIPT
- MEMORY_HOTPLUG: [-arm, -riscv]
- MEMORY_HOTPLUG_DEFAULT_ONLINE: [-arm, -riscv]
- MEMORY_HOTREMOVE: [-arm, -riscv]
Expand All @@ -114,7 +110,6 @@ config:
- DEVICE_PRIVATE: [-arm, -riscv, -s390]
- PERCPU_STATS
- READ_ONLY_THP_FOR_FS: [-arm, -riscv]
- PCI
- PCIEPORTBUS
- HOTPLUG_PCI_PCIE
- PCIEAER
Expand Down Expand Up @@ -500,7 +495,6 @@ config:
- CUSE
- VIRTIO_FS
- PROC_KCORE: [-arm]
- TMPFS
- TMPFS_POSIX_ACL
- TMPFS_XATTR
- TMPFS_QUOTA: [v6.6]
Expand Down
7 changes: 6 additions & 1 deletion dashboard/config/linux/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ instances:
- upstream-arm-full: [upstream, arm, timeouts_emu, gcc, bpfjit, lsm, selinux]
- upstream-riscv64-kasan: [upstream, riscv, timeouts_emu, gcc, bpfjit, lsm, apparmor, reduced, kasan, kfence]
- upstream-s390-kasan: [upstream, s390, gcc, bpfjit, lsm, selinux, nonoise, reduced, kasan, kfence, nokcov]
- upstream-arm64-min-kasan: [upstream, arm64, gcc, allnoconfig, qemu_virt_arm64, nodefconfig, baseline, kasan, kfence]
- upstream-arm64-min-kcsan: [upstream, arm64, clang, allnoconfig, qemu_virt_arm64, nodefconfig, baseline, nonoise, kcsan]
- upstream-arm64-min-leak: [upstream, arm64, gcc, allnoconfig, qemu_virt_arm64, nodefconfig, baseline, nonoise, kmemleak]
- stable-5.4-kasan: [stable-5.4, x86_64, timeouts_native, gcc, bpfjit, lsm, apparmor, kasan]
- stable-5.10-kasan: [stable-5.10, x86_64, timeouts_native, clang, bpfjit, lsm, apparmor, kasan]
- stable-5.10-arm64-kasan: [stable-5.10, arm64, timeouts_native, clang, bpfjit, lsm, apparmor, kasan]
Expand Down Expand Up @@ -49,8 +52,10 @@ instances:
includes:
- base.yml: []
- x86_64.yml: [x86_64]
- arm64.yml: [arm64]
- arm64.yml: [arm64, -allnoconfig]
- arm64_emu.yml: [arm64_emu]
- allnoconfig.yml: [allnoconfig]
- qemu_virt_arm64.yml: [qemu_virt_arm64]
- arm.yml: [arm]
- timeouts_emu.yml: [timeouts_emu]
- timeouts_native.yml: [timeouts_native]
Expand Down
2 changes: 1 addition & 1 deletion dashboard/config/linux/stable-5.10-arm64-kasan-base.config
Original file line number Diff line number Diff line change
Expand Up @@ -926,7 +926,7 @@ CONFIG_ARCH_USE_GNU_PROPERTY=y
CONFIG_ELFCORE=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_BINFMT_SCRIPT=y
# CONFIG_BINFMT_MISC is not set
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
# end of Executable file formats

Expand Down
2 changes: 1 addition & 1 deletion dashboard/config/linux/stable-5.15-arm64-kasan-base.config
Original file line number Diff line number Diff line change
Expand Up @@ -884,7 +884,7 @@ CONFIG_ARCH_USE_GNU_PROPERTY=y
CONFIG_ELFCORE=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_BINFMT_SCRIPT=y
# CONFIG_BINFMT_MISC is not set
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
# end of Executable file formats

Expand Down
2 changes: 1 addition & 1 deletion dashboard/config/linux/stable-6.1-arm64-kasan-base.config
Original file line number Diff line number Diff line change
Expand Up @@ -906,7 +906,7 @@ CONFIG_ARCH_USE_GNU_PROPERTY=y
CONFIG_ELFCORE=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_BINFMT_SCRIPT=y
# CONFIG_BINFMT_MISC is not set
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
# end of Executable file formats

Expand Down
2 changes: 1 addition & 1 deletion dashboard/config/linux/upstream-arm-full-base.config
Original file line number Diff line number Diff line change
Expand Up @@ -748,7 +748,7 @@ CONFIG_BINFMT_FLAT=y
CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y
CONFIG_BINFMT_FLAT_OLD=y
CONFIG_BINFMT_ZFLAT=y
# CONFIG_BINFMT_MISC is not set
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
# end of Executable file formats

Expand Down
3 changes: 1 addition & 2 deletions dashboard/config/linux/upstream-arm-full.config
Original file line number Diff line number Diff line change
Expand Up @@ -665,8 +665,7 @@ CONFIG_AS_VFP_VMRS_FPINST=y
CONFIG_HOTPLUG_CORE_SYNC=y
CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
# CONFIG_KPROBES is not set
CONFIG_JUMP_LABEL=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
# CONFIG_JUMP_LABEL is not set
CONFIG_UPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
Expand Down
2 changes: 1 addition & 1 deletion dashboard/config/linux/upstream-arm-kasan-base.config
Original file line number Diff line number Diff line change
Expand Up @@ -748,7 +748,7 @@ CONFIG_BINFMT_FLAT=y
CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y
CONFIG_BINFMT_FLAT_OLD=y
CONFIG_BINFMT_ZFLAT=y
# CONFIG_BINFMT_MISC is not set
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
# end of Executable file formats

Expand Down
3 changes: 1 addition & 2 deletions dashboard/config/linux/upstream-arm-kasan.config
Original file line number Diff line number Diff line change
Expand Up @@ -665,8 +665,7 @@ CONFIG_AS_VFP_VMRS_FPINST=y
CONFIG_HOTPLUG_CORE_SYNC=y
CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
# CONFIG_KPROBES is not set
CONFIG_JUMP_LABEL=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
# CONFIG_JUMP_LABEL is not set
CONFIG_UPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
Expand Down
2 changes: 1 addition & 1 deletion dashboard/config/linux/upstream-arm64-full-base.config
Original file line number Diff line number Diff line change
Expand Up @@ -947,7 +947,7 @@ CONFIG_ARCH_USE_GNU_PROPERTY=y
CONFIG_ELFCORE=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_BINFMT_SCRIPT=y
# CONFIG_BINFMT_MISC is not set
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
# end of Executable file formats

Expand Down
2 changes: 1 addition & 1 deletion dashboard/config/linux/upstream-arm64-kasan-base.config
Original file line number Diff line number Diff line change
Expand Up @@ -928,7 +928,7 @@ CONFIG_ARCH_USE_GNU_PROPERTY=y
CONFIG_ELFCORE=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_BINFMT_SCRIPT=y
# CONFIG_BINFMT_MISC is not set
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
# end of Executable file formats

Expand Down
Loading
Loading