Skip to content

syzkaller UI: sorting/filter by Linux kernel subsystem #6808

@matttbe

Description

@matttbe

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 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 :) ).EDIT: Alexander mentioned the 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 syz-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? EDIT: discussion moved to the ML

(Please tell me if I should create other feature requests for some questions or ideas here, or move the discussion elsewhere)

Thanks!
Matt

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions