
Patch-status tracker for the Linux kernel PPPoE sendmsg() use-after-free, recording affected versions, upstream fixes, and per-distribution patch status.
Source for the PPPoEject patch-status tracker: a single-page site
recording which distributions have shipped a fix for the PPPoE
sendmsg() stale skb-head use-after-free in the Linux kernel.
Everything about the bug — the CVE ID, affected and fixed versions, upstream fix commits, discovery and disclosure credit, and current per-distribution patch status — belongs to the tracker page, not to this README:
site/content/_index.mdEdit that file; everything else in this repo is build infrastructure.
None of it is restated here on purpose. The tracker page is revised as distributions ship fixes — for the actively updated trackers, twice daily by the auto-update agent — so any copy kept in this README would silently rot. Resist re-adding a summary.
Deployment plan and current setup state live in
WEBSITE.md.
Requires Hugo ≥ 0.146.0 (the standard edition suffices: no Sass or image processing in this site) and Go (for Hugo Modules to fetch the PaperMod theme).
nix develop # dev shell: hugo, go, resvg + fonts, and every lookup tool
cd site
hugo server # local preview at http://localhost:1313/pppoeject/
If you use direnv, direnv allow once and the dev
shell auto-activates whenever you cd into the repo.
Install Hugo ≥ 0.146.0 and Go ≥ 1.24 yourself (CLAUDE.md § "Build
environment" has the go install recipe), then:
cd site
hugo server # http://localhost:1313/pppoeject/
make build # local build into site/public/
make dist # build, then rsync to haig:/pppoeject/
make banner # re-rasterise the social banner SVG → PNG (needs resvg + the banner fonts)
make dist runs make build first. make banner is only needed after
editing site/assets/pppoeject-tracker.svg; the rendered PNG is
committed.
.
├── flake.nix # Nix dev environment (build, banner, publish, lookup tools)
├── .envrc # direnv hook → `use flake`
├── .gitignore
├── Makefile # `make build`, `make dist`, `make banner`
├── LICENSE # CC BY 4.0
├── README.md # this file
├── CLAUDE.md # project instructions for Claude Code
├── WEBSITE.md # publication plan / decisions log
├── scripts/ # auto-update agent: prompt + driver
├── systemd/ # user-level timer + service units
└── site/ # Hugo project
├── hugo.toml
├── content/
│ └── _index.md # the tracker (single page)
├── assets/css/extended/custom.css # PaperMod CSS overrides
├── assets/pppoeject-tracker.svg # social-banner source (→ make banner)
├── static/pppoeject-tracker.png # rendered OpenGraph banner (committed)
├── layouts/partials/ # PaperMod overrides (post_meta, extend_footer)
├── go.mod, go.sum # Hugo Modules — pulls PaperMod theme
└── … # standard Hugo skeleton
CC BY 4.0 — share and adapt with attribution.