tailscale / tailscale/tailscale
Kernel regression around `seek` on `/proc/net/tcp` causes test failures and likely more
- Dominant language
- Go
- Stars
- 36.5k
- Forks
- 3.2k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 132
Description
# Defect resolution
This defect has been resolved by the stable kernel versions released on **September 9th, 2025**. That's the following:
1. [6.16.6](https://lwn.net/Articles/1037360/)
2. [6.12.46](https://lwn.net/Articles/1037361/)
3. [6.6.105](https://lwn.net/Articles/1037362/)
If your kernel version is not among them, you may still encounter the issues described below.
# Defect details
Recent stable LTS linux kernels 6.6.102 and 6.12.42 have a regression regarding network interface monitoring.
https://lore.kernel.org/all/20250815195616.64497967@chagall.paradoxon.rec/
> I have bisected the issue to the commits https://github.com/torvalds/linux/commit/33c778ea0bd0fa62ff590497e72562ff90f82b13 in 6.6.102 and https://github.com/torvalds/linux/commit/fc1072d934f687e1221d685cf1a49a5068318f34 in 6.12.42 which are both the same change code-wise (upstream commit https://github.com/torvalds/linux/commit/ff7ec8dc1b646296f8d94c39339e8d3833d16c05).
Fixes are coming in https://lore.kernel.org/all/20250821105806.1453833-1-wangzijie1@honor.com/ (unsure of merge status at time of issue filing.)
I detected this personally trying to build Tailscale on kernel 6.12.43 while running the following tests:
```
--- FAIL: TestGetList (0.00s)
portlist_test.go:19: seek /proc/net/tcp: illegal seek
--- FAIL: TestIgnoreLocallyBoundPorts (0.00s)
portlist_test.go:40: seek /proc/net/tcp: illegal seek
--- FAIL: TestPoller (0.00s)
portlist_test.go:61: seek /proc/net/tcp: illegal seek
```
The NixOS build machine [also detected these issues](https://cache.nixos.org/log/18r5bq5bx8n79mgpv69mnfjq8w7z05b0-tailscale-1.82.5.drv) trying to build Tailscale.
Contributor guide
Research direction
Start with the failures in portlist_test.go and the /proc/net/tcp seek path, then compare behavior on the affected Linux kernel versions with the listed stable releases. Done means determining whether Tailscale needs a code or test change, or whether the kernel fixes fully resolve the reported failures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, linux
- Domain
- networking, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100