Back to Opinion Articles
Opinion #010•5 min read•7 September 2026

AI Doesn't Just Create More Code to Review. It Creates More Bugs to Triage, Too.

The Linux kernel just gave the industry its cleanest real-world proof that AI's verification bottleneck runs in both directions at once — and the kernel's own maintainers had to write it into official policy to survive it.

Rajnish Kumar

Rajnish Kumar

Editor-in-Chief & Founder

AI Doesn't Just Create More Code to Review. It Creates More Bugs to Triage, Too. — Opinion article hero image

The Mailing List That Stopped Working

On 17 May 2026, Linus Torvalds — the creator of Linux, not a vendor with a survey to sell — declared the kernel's private security mailing list "almost entirely unmanageable." The cause wasn't a wave of real new vulnerabilities. It was a wave of AI-assisted vulnerability reports, many of them duplicates: multiple researchers independently running similar AI tools over the same code, each filing what looked like an original discovery, none of them aware the others existed. Maintainer Willy Tarreau had already flagged the trend months earlier — the private list went from roughly two to three reports a week two years prior to five to ten reports a day by the time Torvalds spoke up. Nobody added new attack surface to the kernel overnight. What changed is that AI made it trivially cheap to generate a plausible-looking security report, and the number of people capable of running that scan grew far faster than the number of maintainers capable of reading the results.

“"AI detected bugs are pretty much by definition not secret, and treating them on some private list is a waste of time for everybody involved."”

What the Kernel's Own Documentation Now Says

This stopped being an informal complaint the moment the kernel merged it into its actual process documentation — the same category of file that defines what counts as a security bug in the first place. The security-bugs documentation is direct about the cause: "A significant fraction of bug reports submitted to the security team are actually the result of code reviews assisted by AI tools." It's equally direct about the effect: that volume "causes an overload on maintainers, who are sometimes forced to ignore such reports due to their poor quality or accuracy." That's a striking admission for a project with the kernel's engineering discipline to put in writing — not "AI reports are unwelcome," but "we are now structurally forced to ignore some of them, because there is more coming in than we can read." The fix isn't a ban. It's a set of conditions an AI-assisted report now has to clear before a human maintainer will spend time on it at all:

  • Treat the finding as public the moment AI assistance was used to identify it — no routing through the slow, private channel real zero-days need.
  • If the tool can generate a reproducer, actually run it and confirm it works before sending the report.
  • If the tool proposes a fix, test that fix, don't just attach it.
  • Include the four load-bearing facts every credible report needs regardless of who or what found it: the affected version or commit, a clear description of the problem, the reproducer or its exact status, and the conditions that trigger it.

None of This Is a New Bar

None of that is a new bar for what counts as a good bug report. It's the bar that always existed — the kernel is simply now saying, in writing, that AI assistance is not an exemption from clearing it, and a report that skips straight from "the model said so" to a maintainer's inbox will be treated accordingly.

The Bottleneck Runs in Both Directions at Once

Every earlier version of the "AI creates a review bottleneck" argument — this site's own included — was really about one direction of the problem: AI writes code faster than humans can review the code. The kernel's situation is the same bottleneck showing up from the other side at the same time. AI isn't only generating more code that needs a human's judgment before it ships. It's also generating more findings — bug reports, vulnerability claims, proposed fixes — that need a human's judgment before anyone can trust them either. Both streams end at the exact same door: a finite number of people qualified to say "yes, this is real" or "no, it isn't."

Where both streams actually converge

AI generates more code

from writing

More code needing review

AI also finds more possible bugs

from reviewing

More findings needing triage

both streams end here

Human judgment

the scarce resource

Two Streams, One Scarce Resource

The two streams don't compete for different resources — they compete for the exact same one. A senior kernel maintainer's afternoon spent verifying whether a submitted patch is safe to merge, and that same maintainer's afternoon spent confirming whether an AI-flagged "vulnerability" is a real one or a hallucinated pattern match, draw from one shared, non-renewable supply: a specific person's attention and judgment, and there is only one of that person.

Whoever Files It, You're the One Who Has to Answer for It

The kernel's separate AI-coding-assistant guidance closes the other half of this loop, and it's unambiguous about where responsibility lands when a human decides to use the output at all. It states plainly that the human submitter is responsible for reviewing all AI-generated code, ensuring it complies with licensing, adding their own Signed-off-by tag to certify the Developer Certificate of Origin, and taking full responsibility for the contribution. An AI tool can get an Assisted-by credit line. It cannot sign the DCO, and it cannot be the name attached when something breaks in production six months later. That's not a symbolic formality — the DCO is a legal certification that a real person is vouching for a specific piece of code, and the kernel's rule is a hard line under a fact every team adopting AI coding tools eventually has to confront on its own: the tool can produce the artifact, but it cannot hold the accountability, and pretending otherwise doesn't remove the accountability, it just leaves it unassigned until something goes wrong.

Why the Kernel Is the Cleanest Example of This, Not Just Another Data Point

Vendor surveys are useful, but they're self-reported, and there's always a reasonable question about incentive — a company selling AI coding tools has a story it would like the data to tell. The Linux kernel has no such story to sell. It's the single most widely deployed piece of software on Earth, maintained by engineers with essentially the entire industry's operational incentive to get this exactly right, and its maintainers changed their own written process rules in direct response to AI-generated volume actually breaking something that used to work. That's not a survey response. That's a real institution's real process documentation, updated because the old process stopped functioning under the new load. When an organization with the kernel's engineering rigor writes "we are sometimes forced to ignore reports" into an official document, that sentence is carrying a lot more evidentiary weight than a percentage in a vendor's press release.

The Deeper Pattern

Step back from the kernel specifically and the shape underneath this is the same one showing up everywhere AI touches a codebase: AI is extraordinarily good at producing output — code, patches, bug reports, test cases — and comparatively unhelpful at increasing the supply of qualified human judgment needed to decide whether any given piece of that output is actually correct. Every team adopting these tools is implicitly betting that its reviewers, maintainers, and senior engineers can absorb an arbitrarily larger volume of things to check, using the same headcount they had before. The kernel just ran that bet at the scale of the world's most important piece of shared infrastructure, and its own documentation is the receipt: the bet didn't hold, and the fix wasn't "more AI." It was writing down, in plain language, exactly what a human still has to verify before any of it counts.

Sources

Every claim above is traceable to the specific kernel documentation, mailing-list statement, or reporting below.

Found this useful? Share it