| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
To get coverage of PREEMPT_RT as well.
The disabled configs are marked as incompatible
with PREEMPT_RT in Kconfig files.
Fixes #6225
|
| |
|
|
|
|
|
|
|
|
| |
It seems incredibly difficult to clean up the side effects of this
kernel functionality.
Keep it enabled only on a new config dedicated specifically for the
snapshot-based instance.
Closes #5956.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add comedi.yml fragment with all usb and manually configurable
legacy comedi drivers. Specify x86_64-only setting for drivers
that depend on CONFIG_ISA[_BUS].
- Set the comedi.comedi_num_legacy_minors=4 kernel config param.
That way there are always /dev/comediN devices to try
COMEDI_DEFCONFIG ioctl on.
- Enable comedi.yml fragment for most instances.
Disable it for ChromeOS and Android, as well as some other arches
to avoid conflicts.
This change will disable some already set COMEDI config options (like
COMEDI usb drivers) in a few instances. It should not adversely affect
overall coverage as most other instances will keep those options and
add more on top.
|
| | |
|
| |
|
|
| |
We haven't been fuzzing it on syzbot for a very long time.
|
| |
|
|
| |
Enable RUST as well as other Rust-related configs.
|
| | |
|
| |
|
|
| |
We don't use these on syzbot.
|
| |
|
|
|
| |
Maximum config that still builds/boots.
This is useful for descriptions/interface auto-extraction.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CONFIG_SECURITY_TOMOYO produces a large amount of coverage entries for each
ioctl call. For normal instances, this might not be a problem, as they
call only a single ioctl for each syzkaller syscall.
However, the syz_usb_connect pseudo-syscall calls a large number of ioctls.
As a result, the KCOV coverage buffer for this syscall might overflow due
to the tomoyo-produced entries.
For example, with tomoyo, the first syscall of the vusb_ath9k runtest
produces ~140k KCOV entries (with [1] applied), which is not far from the
current 256k limit of KCOV entries per syscall.
With tomoyo disabled, the number of entries falls to ~30k.
Drop the security modules–related bits from the USB instance: I don't think
they are useful for that instance anyway.
[1] https://lore.kernel.org/all/eaf54b8634970b73552dcd38bf9be6ef55238c10.1718092070.git.dvyukov@google.com/
|
| |
|
|
|
|
|
|
| |
We are going to replace ci-upstream-kmsan-gce-386-root with an
x86_64 instance tracking -next.
The new configs will be using smack instead of AppArmor to increase
the overall KMSAN coverage.
|
| |
|
|
|
| |
The new config will enable KASAN_SW_TAGS and KCOV.
Also make sure KVM_SW_PROTECTED_VM is only enabled on x86_64.
|
| |
|
|
|
|
|
| |
Use the latest revisions for existing configs.
Add the new ChromeOS 6.6 config.
No longer generate ChromeOS 5.4 configs.
Switch ChromeOS configs to clang.
|
| | |
|
| |
|
|
| |
Regenerate the configs using the latest Linux revisions.
|
| |
|
|
|
|
|
| |
This has become possible with the new series from Jan Kara:
https://lore.kernel.org/all/20231101173542.23597-1-jack@suse.cz/
Regenerate configs on the latest linux-next.
|
| |
|
|
|
|
| |
Disable unmaintained code parts (at least those known so far) in
existing configs and enable them in a special upstream-unmaintained.config
file.
|
| |
|
|
|
| |
Since we are using the upstream tree to build KMSAN on syzbot,
switch the kernel configs to also reference that tree.
|
| | |
|
| |
|
|
| |
Disable more kernel configs for baseline files.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Update mainline tag and linux-next version.
Notable changes:
- SLAB is being deprecated. To still be able to test it we need
to set SLAB_DEPRECATED.
Due to SLAB deprecation, the kcsan and leak instances are switched to
SLUB to avoid tripping over issues due to SLAB not being supported
properly anymore.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce a variant of upstream-apparmor-kasan, which enables:
- kasan.fault=panic_on_write [1]
- kasan_multi_shot, so that panic_on_warn does cause KASAN to
panic on bad non-write accesses
As discussed in [1], "KASAN reported invalid _writes_ are of special
interest, because they have greater potential to corrupt random kernel
memory or be more easily exploited."
With this config we can set up a syzbot instance that can detect such
issues.
[1] https://lore.kernel.org/linux-mm/20230614095158.1133673-1-elver@google.com/
|
| |
|
|
|
|
|
| |
Allow modules in config if `modules` are specified in main.yml.
Added Cuttlefish instances for android13-5.10, android13-5.15, and
android14-5.15 branches.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Add support for Android 6.1. The configs are for 'android14-6.1',
there's no android-6.1-lts available yet.
Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
|
| |
|
|
|
| |
We are currently testing lts branches which are already too old. Add
configs for the more relevant stable versions.
|
| | |
|
| |
|
|
|
|
| |
Most of the arm64.yml tweaks were actually needed to fuzz Linux on qemu.
Now that we can also fuzz it in the non-emulated environment, let's
split it into the base arm64 settings and the settings needed for qemu.
|
| | |
|
| | |
|
| |
|
|
| |
Currently syzbot is unable to symbolize reports for DWARF5.
|
| |
|
|
|
|
|
| |
Update the configs to the latest Linux versions: v6.2-rc5 and
next-20230124.
Enable CONFIG_NMI_CHECK_CPU and rcupdate.rcu_cpu_stall_cputime.
|
| |
|
|
| |
Due to PR #3513 we no longer need the -late.yml
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Background:
- syz-kconf loads and overlays config fragments to form a final kernel
config. Fragments are loaded top to bottom as defined in the includes
section of main.yml or your downstream syz-kconf config.
- A config fragment loaded later can override kconf options set by an
earlier loaded fragment. However the override keyword can only be used
if an earlier fragment really did set the same option. Otherweise an
error is raised.
- With this in mind it makes sense to load fragments from broadest scope
to most specific e.g. base -> x86_64 -> chromeos, so that chromeos can
override a setting usually enabled on x86_64 machines.
The Problem:
- Before this change shell snippets were executed in order they were
loaded from the fragments.
- This is unfortunate as the broad fragments like x86_64.yml expect to
operate on an existing .config with their shell snippets. Meanwhile
some downstream distros like icebreaker generate their config using
such a shell snippet.
- Hence ordering the fragments like base -> x86_64 -> icebreaker results
in an error about the x86_64 not finding a .config without this
change. Meanwhile ordering icebreaker -> base -> x86_64 works, but
means the icebreaker fragment can't override x86_64 kconf options.
The Solution:
- This change resolves the problem outlined above by reversing the order
shell snippets are executed. Now shell snippets will be executed
starting with the most recently loaded fragment. This way the proposed
fragment order base -> x86_64 -> icebreaker becomes viable.
- Luckily the shell section isn't heavily used, so this change didn't
result in meaningfull final config changes.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The tag that is provided is from 'android13-5.15-lts'.
The LTS version must be used, as it is more up-to-date in terms of
security fixes and stable back-ports than its non-lts counterpart.
Using a tag from the non-lts branch will result in lots of false
positives which would end up wasting quality engineering time.
Signed-off-by: Tadeusz Struk <tadeusz.struk@linaro.org>
|
| |
|
|
| |
Also, factor emulation-dependent consts into a separate file.
|
| |
|
|
|
|
| |
Switch arm64 instances to clang.
Enable KCOV for arm64.
Regenerate configs with clang13.
|
| | |
|
| |
|
|
|
|
| |
We generate slightly reduces configs for arm/arm64 b/c we test in slow qemu VMs.
Add full versions of these configs that can be used with syz-check to avoid
no-such-struct warnings.
|
| |
|
|
| |
To add the ChromeOS 5.15 configs.
It required to disable the INCREMENTAL_FS support.
|
| |
|
| |
To add the ChromeOS 5.10 support.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The arm instance has been broken since ~March this year because lockdep
appears broken on arm [1]. Unfortunately it hasn't been fixed since, and
it is unclear if this is going to happen soon.
Since this is holding up fuzzing on arm, and generally causing dozens of
fixes to still appear as "fix pending" on the syzbot dashboard, simply
disable lockdep on the arm instance.
This will allow to at least make some progress and find bugs with the
remaining configs on the arm instance.
[1] https://lore.kernel.org/all/0000000000004f14c105bde08f75@google.com/
|
| |
|
|
|
|
| |
Simplify contraints on debug.yml and lockdep.yml: kmsan, kcsan, and
kmemleak instances already list nonoise, so there's no point in
adding these constraints to debug.yml and lockdep.yml.
|
| |
|
|
|
|
| |
All of lockdep comes with a number of config options, so let's refactor
it into a separate lockdep.yml, which makes it easier to disable
selectively.
|
| |
|
|
|
|
|
| |
Add the 'onlynet' tag and use it on the KCSAN instance.
Strictly speaking 'wireless', 'bluetooth', and 'hamradio' could also be
included in 'onlynet', but leave them out for now.
|
| |
|
|
|
| |
Move most networking related configs to net.yml, including net drivers
that are dependencies for various features.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The tag that is provided is from 'android12-5.10-lts'.
The LTS version must be used, as it is more up-to-date in terms of
security fixes and stable back-ports than its non-lts counterpart.
Using a tag from the non-lts branch will result in lots of false
positives which would end up wasting quality engineering time.
Signed-off-by: Lee Jones <lee.jones@linaro.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
This reverts commit e096c0a2a414e487412c9669426780ce5acdde9d.
After a long discussion [1], Linus decided to default WERROR to
COMPILE_TEST [2]. This means we no longer have to unset the option
explicitly.
[1] https://lkml.kernel.org/r/YTfkO2PdnBXQXvsm@elver.google.com
[2] https://git.kernel.org/torvalds/c/b339ec9c229aaf399296a120d7be0e34fbc355ca
|