Skip to content

SyzFix

The full lifecycle of 7,000+ fixed Linux kernel bugs — from the syzbot crash report, through every patch revision and reviewer discussion on lore.kernel.org, to the commit merged into torvalds/linux.

Get the dataset Browse the code Quick start

SyzFix Logo

7,210fixed kernel bugs
5,204merged patch diffs
6,191review discussions
4,802C reproducers
1,157multi-version patch histories
≤9patch versions per bug

Counts as of July 2026 — the dataset tracks syzbot continuously and grows with each incremental update.


One record = one bug's whole story

Most kernel-bug datasets stop at (crash, final patch). SyzFix keeps the process in between — the part that shows how maintainers actually converge on a fix:

[Sep 16, 2024]  syzbot: NULL pointer deref in filemap_read_folio
[Sep 17, 2024]  Developer → [PATCH v1]: check S_ISREG before proceeding
[Sep 17, 2024]  syzbot: patch confirmed working ✅
[Sep 17, 2024]  Developer → [PATCH v2]: also fix multi-device/blob case
[Oct 11, 2024]  Chao Yu: Reviewed-by ✅
[Final]         Commit 416a8b2c merged into torvalds/linux

Each entry carries the raw crash report (oops / KASAN / BUG), syzkaller and C reproducers, every patch revision with its inline review thread, and the final merged commit — aligned and machine-readable.

How it's built

flowchart LR
    SYZ["syzbot<br/>bug list, crashes,<br/>reproducers"] --> P[collection<br/>pipeline]
    LORE["lore.kernel.org<br/>patch versions,<br/>review threads"] --> P
    GIT["git.kernel.org<br/>merged diffs"] --> P
    PW["patchwork<br/>series fallback"] --> P
    P --> PROC[("processed/<br/>one JSON per bug")]
    PROC --> AN["13 heuristic<br/>analyzers"]
    PROC --> HF[("HuggingFace<br/>Hub")]
    AN --> STATS["cross-layer taxonomy,<br/>fix patterns, difficulty…"]

The pipeline is resumable and incremental: a weekly python -m dataset.update pulls only the bugs fixed since the last run and pushes the refreshed dataset to HuggingFace. Data collection →

Start in minutes

git clone https://github.com/sysec-uic/syzfix.git && cd syzfix
python3 -m venv venv && source venv/bin/activate
pip install -e .

# pull the pre-built dataset from HuggingFace (~2 GB download)
python -m dataset.restore_processed --repo xiaoguangwang/syzfix-dataset
python -m dataset.view build-index
python -m dataset.view list
  • Exploring — browse, search, and inspect individual bugs from the CLI
  • Analysis — 13 heuristic analyzers over the full corpus
  • Collection — the crawl pipeline, rate limits, incremental updates
  • Dataset card — schema, splits, and download options (HF link)

Citation & contact

Developed at sysec-uic. If you use SyzFix in your research, please cite the repository until the accompanying paper is available. Questions and issues → GitHub issues.