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

sys/linux: things to test #533

Open
dvyukov opened this issue Mar 8, 2018 · 29 comments
Open

sys/linux: things to test #533

dvyukov opened this issue Mar 8, 2018 · 29 comments

Comments

@dvyukov
Copy link
Collaborator

dvyukov commented Mar 8, 2018

List of things we need descriptions for (dynamically updated). Note : some of these things might be very hard to test, while other are easy.

Before starting work on a subsystem, grep existing descriptions if the subsystem is already [partially] described. This list may be outdated or imply extending existing basic descriptions.

Besides this list, new things are constantly added to the kernel. kernelnewbies.org lists new things in each release. Also queries along the following lines can be used to check for features added in each release:

git diff -U0 v5.17 v5.18 include/uapi/*.h | grep "+++"
git diff -U0 v5.17 HEAD include/uapi/*.h | egrep "^\+.*\s_IO" | less
git diff -U0 v5.17 HEAD include/uapi/*.h | egrep -v "^(index|diff|---|@|-|\+$|\+/\*|\+ \*)" | less

For introduction to Linux kernel syscalls see these 0xax.gitbooks.io articles: part 1, part 4, part 5. Bootlin code search is very useful for browsing kernel sources.

Assorted devices:

  • /dev/vfio
  • stub video/media devices (CONFIG_VIDEO_VIMC, CONFIG_VIDEO_VIM2M, CONFIG_VIDEO_VIVID, CONFIG_VIDEO_VICODEC) /dev/video*, /dev/media*, /dev/v4l* allow to test large generic parts of media stack; there are some descriptions in sys/linux/dev_video4linux.txt but they need to be double checked
  • CONFIG_VIDEO_MEM2MEM_DEINTERLACE
  • CONFIG_VIRTIO_MEM (figure out how to enable it in qemu)
  • drivers/mtd/ubi
  • /dev/dma_heap/system

Assorted:

Sound:

  • /proc/asound/*
  • sound/core/compress_offload.c (figure out how to enable it in qemu)
  • SNDRV_CTL_ELEM_TYPE_*

Network:

USB (docs):

  • USB/IP client and server
  • /sys/kernel/debug/usb/devices
  • Legacy gadget drivers (g_hid.ko, etc.)
  • ConfigFS gadget functions

External USB (sys/linux/vusb.txt):

  • CONFIG_USB_STORAGE
  • CONFIG_SND_USB
  • CONFIG_USB_RTL8150
  • CONFIG_USB_RTL8152
  • CONFIG_USB_NET_AX88179_178A
  • CONFIG_USB_NET_AX8817X
  • Probably many others

External network (sys/linux/vnet.txt):

  • SCTP
  • Probably many others

Bluetooth (sys/linux/socket_bluetooth.txt):

  • What is covered? What isn't yet?

GPIO: the following configs create some test devices in VMs (GPIOLIB, GPIO_AGGREGATOR, GPIO_VIRTIO, GPIO_MOCKUP, GPIO_SIM)

HDMI (#3725)

CONFIG_CACHESTAT_SYSCALL

@dvyukov
Copy link
Collaborator Author

dvyukov commented Mar 25, 2018

fou is added in 7c62f71

dvyukov added a commit to dvyukov/syzkaller that referenced this issue Mar 26, 2018
dvyukov added a commit that referenced this issue Mar 26, 2018
@dvyukov
Copy link
Collaborator Author

dvyukov commented Mar 26, 2018

IPVS is added in 0ca7878

liuhangbin added a commit to liuhangbin/syzkaller that referenced this issue May 8, 2018
Update google#533

As TC(net sched) is a large group, I separate it from socket_netlink_route.txt.
Currently I only implement the framework with two qdisc/tclass/filters.
I will add the others later.

v2: Fix tcm_handle major and minor order. Add tcm_handle_offsets.

Signed-off-by: Hangbin Liu <[email protected]>
dvyukov pushed a commit that referenced this issue May 8, 2018
Update #533

As TC(net sched) is a large group, I separate it from socket_netlink_route.txt.
Currently I only implement the framework with two qdisc/tclass/filters.
I will add the others later.

v2: Fix tcm_handle major and minor order. Add tcm_handle_offsets.

Signed-off-by: Hangbin Liu <[email protected]>
liuhangbin added a commit to liuhangbin/syzkaller that referenced this issue Jun 8, 2018
dvyukov pushed a commit that referenced this issue Jun 8, 2018
dvyukov added a commit that referenced this issue Aug 26, 2018
dvyukov added a commit to dvyukov/syzkaller that referenced this issue Aug 29, 2018
dvyukov added a commit to dvyukov/syzkaller that referenced this issue Aug 29, 2018
- enable usbip
- enable squashfs
- enable ubifs
- enable dm-verity
- enable IMA/EVM
/\/\/\
all things we want to test

- set hung_task_check_interval_secs = 20 for more precise hung detection
- switch to apparmor (we don't enable selinux anyway)
- update to latest kernel

Update google#533
dvyukov added a commit that referenced this issue Aug 29, 2018
dvyukov added a commit that referenced this issue Aug 29, 2018
- enable usbip
- enable squashfs
- enable ubifs
- enable dm-verity
- enable IMA/EVM
/\/\/\
all things we want to test

- set hung_task_check_interval_secs = 20 for more precise hung detection
- switch to apparmor (we don't enable selinux anyway)
- update to latest kernel

Update #533
dvyukov added a commit to dvyukov/syzkaller that referenced this issue Aug 31, 2018
dvyukov added a commit to dvyukov/syzkaller that referenced this issue Aug 31, 2018
dvyukov added a commit that referenced this issue Aug 31, 2018
dvyukov added a commit to dvyukov/syzkaller that referenced this issue Sep 2, 2018
dvyukov added a commit to dvyukov/syzkaller that referenced this issue Sep 2, 2018
dvyukov added a commit that referenced this issue Sep 2, 2018
dvyukov pushed a commit that referenced this issue Aug 7, 2020
This commit includes the following changes:
* executor: add a new syz_btf_id_by_name psuedo-syscall
* sys/linux: add descriptions for BPF LSM subsystem
* sys/linux: add instructions on how to dump vmlinux and install
  bpftool
* sys/linux/test: add tests for the new psuedo-syscall
* pkg/host: add support detection for the new psuedo-syscall
* pkg/runtest: skip the coverage test when invoking the new
  psuedo-syscall

Update #533.
@a-nogikh
Copy link
Collaborator

Working on 802.11

@mirasharf
Copy link

mirasharf commented Aug 17, 2020

Working on /dev/autofs

chmnchiang pushed a commit to chmnchiang/syzkaller that referenced this issue Aug 19, 2020
Add desciptions for testing /dev/vga_arbiter.
Update google#533
morehouse pushed a commit that referenced this issue Aug 20, 2020
Add desciptions for testing /dev/vga_arbiter.
Update #533
@chmnchiang
Copy link
Collaborator

Working on various types of bpf programs.

chmnchiang pushed a commit to chmnchiang/syzkaller that referenced this issue Aug 26, 2020
Add descriptions for qat_adf_ctl. It might need an intel qat device.
Update google#533.
xairy pushed a commit that referenced this issue Aug 28, 2020
Add descriptions for qat_adf_ctl. It might need an intel qat device.
Update #533.
@maramihali
Copy link
Contributor

Working on FQ_PIE from include/uapi/linux/pkt_sched.h

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests