-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Hello,
First, thank you for maintaining and developing this great tool!
I met @RonjaPonja at FOSDEM recently who suggested continuing the discussion here.
I'm currently using Syzkaller to catch bugs on MPTCP subsystem development version. The main reasons are to catch bug early, before sending patches to netdev, but also to reduce (stressful) new public syzbot bug reports for which we have to rush looking at them, at least to check how bad it is. (I wonder if new issues couldn't be share with us privately, before reaching the public MLs, to reduce stress :) ) → EDIT: discussion moved the ML
In this case, I'm only interested in having Syzkaller exercising a specific subsystem. I then used the enable_syscalls option in syz-manager config:
"enable_syscalls": ["sendfile", "socket", "socketpair", "accept", "accept4", "bind", "connect", "sendto", "recvfrom", "getsockname", "getpeername", "listen", "setsockopt", "getsockopt","syz_emit_ethernet", "syz_extract_tcp_res", "ioctl", "sendmsg", "sendmmsg", "recvmsg", "recvmmsg", "shutdown", "splice", "pipe", "close", "clone", "fcntl", "writev", "poll", "select", "epoll_ctl", "epoll_wait", "epoll_create", "epoll_create1", "epoll_pwait", "syz_genetlink_get_family_id", "syz_init_net_socket", "openat", "syz_open_dev"],
While I'm here: is it a good way to narrow the scope? Anything better for our case where at least one → EDIT: Alexander mentioned the IPPROTO_MPTCP is created and used? More details about my setup are available on MPTCP wiki (don't hesitate to tell us what we can improve :) ).focus_areas option.
From the UI, it is difficult to filter which bugs are linked to which subsystems. Initially, I was looking at the titles, but that was not enough. I then started to open the reports linked to networking areas, but now I find it quicker to grep the logs from the recent bug reports potentially linked to MPTCP, e.g.
find workdir/crashes -name "report*" -newermt "$(stat -c "%y" ../mptcp_net-next/vmlinux)" | xargs -r grep "net/mptcp" | cut -d/ -f1-3 | sort | uniq -c | while read -r N D; do echo -n "$D: $N: "; cat $D/description; done
On Syzbot side, the subsystem is mentioned. Is there a way to get something like that on syzkaller side as well, please?
Eventually, could syzkaller tell us if an issue can be reproduced without root access, or from a userspace namespace? → EDIT: discussion moved to #6813
An extra question: on my side, there are 3 to 4 machines running EDIT: discussion moved to the MLsyz-manager, and one running syz-hub. I understood that it would be better for me to re-use syzbot corpus. Should I regularly replace (or merge?) my corpus.db with ci-upstream-kasan-gce-corpus.db? Is it compatible with my kernel config and the syscalls restriction?
(Please tell me if I should create other feature requests for some questions or ideas here, or move the discussion elsewhere)
Thanks!
Matt