Torvalds halts RISC-V patches due to "garbage" in Linux 6.17

  • Rejection of a RISC-V patch set for being late and touching common headers with changes considered "garbage."
  • Criticism of a macro helper, make_u32_from_two_u16(), for making the code less clear.
  • Warning: No more late requests; retry is possible in 6.18 within the merge window.
  • Conciliatory response from the author of the submission and discussion on quality and discipline in open development.

Generic image about controversy in Linux 6.17

Closing the Linux 6.17 Merge Window has left a hectic episode: a package of changes for RISC-V was rejected by Linus Torvalds because it included inappropriate modifications to generic headers and was also submitted out of time.

The shipment, made by Palmer Dabbelt (Android team at Google), reached practically the limit and touched common areas of the kernel with what Torvalds defined as "garbage", which motivated an immediate veto and the request to try again in the next integration window. More on Torvalds' warnings to users

What happened

Generic illustration about kernel patches

The batch of changes was submitted shortly before the release of the first release candidate of Linux 6.17, a time when new feature integrations no longer fit the project scheduleTo better understand the updates in Linux 6.17, you can review The main new features of Linux 6.16.

Torvalds identified two main problems: on the one hand, the late arrival of the pull request, against the guidelines communicated to maintainers; and, on the other hand, the inclusion of adjustments to shared headers that were not strictly necessary for RISC-V. Do you want to follow the project's integration policies? Review Torvalds' statements on kernel discipline.

One of the most notable points was the introduction of a macro helper, make_u32_from_two_u16(), which in the opinion of the project leader reduced code readability y added ambiguity regarding the order of the argumentsFor a deeper dive into the release's improvements, visit All About Linux 6.17 and its Patches.

In kernel culture, Changes specific to an architecture must remain within that architecture's tree except in justified and agreed-upon cases; touch common headers involves side effects for the entire ecosystem.

Who was involved and why it bothered them

Generic image of RISC-V development on Linux

The shipment was signed by him Palmer Dabbelt, Android Team Engineer, with changes targeting RISC-V but extending their scope to kernel cross-cutting headers, which triggered revision alarms. To understand how this affects specific projects, see improvements in Linux 6.16.

Days earlier, Torvalds had requested advance merger requests Due to scheduling reasons, the deadline was interpreted as a breach of the process rules. For more details, see what's new in Linux 6.13.

The message was clear: There will be no more late pull requests. nor modifications that unnecessarily dirty common areas. The invitation was left on the table to try again in 6.18, within the appropriate window and with a more limited scope.

Reactions and context

Generic image about quality control in Linux

For its part, Dabbelt responded in a conciliatory tone, committing to respecting the timelines and limiting changes to RISC-V areas so as not to affect shared headers. To better understand the importance of quality control, see improvements in Linux 6.10.

The episode rekindled debate about how to balance the opening of development with technical discipline. On Linux, Inclusivity does not mean accepting any change: demands consistency, clarity and quality. More about discipline in Open Source projects at ARM and Linux systems.

The reaction fits with Torvalds' recent decisions to protect the stability of the tree, remembering that the schedule and integration rules are not decorative, but rather tools to avoid regressions and technical debt. To understand the importance of the schedule in development, read what's new in Linux 5.19.

Looking at the short term, Linux 6.17 will continue without these patches, while work for RISC-V may be proposed again in 6.18 if it adheres to the guidelines and cosmetic changes that hinder reading are shelved.

The combination of a close-quarters delivery, Modifications to generic headers and a controversial helper It has served as a reminder: in the kernel, changes should be timely, necessary, and improve clarity, not the other way around.