In association with heise online

07 March 2008, 11:07

Kernel log: Proprietary Linux drivers stumble and spark debate

  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

Linux kernel 2.6.25 testers have encountered various problems with proprietary drivers. The kernel modules of the Nvidia graphics driver, for example, were temporarily unavailable because kernel developers no longer exported the init_mm interface. When asked whether this decision could be reversed, one developer showed little inclination to co-operate. He later even added another message clearly criticising Nvidia. The changes were subsequently reversed in the development branch regardless. But this is only a temporary measure, as init_mm is set to disappear again with Linux 2.6.26 in a few weeks' time; this arrangement is designed to give the developers of external kernel modules – VirtualBox was mentioned – time to adjust their code.

Ndiswrapper currently also struggles with the test versions of 2.6.25, because the kernel marks itself as tainted when loading Ndiswrapper, which prevents Ndiswrapper from accessing interfaces exclusive to GPL2 compatible drivers. At the time of the test version release it seemed as if developers would quickly reverse this change.

However, this didn't happen. When the respective patch was sent to the Linux Kernel Mailing List (LKML) at the end of last week, Linus Torvalds severely criticised the patch. "I'm not seeing why ndiswrapper should be treated separately. If it loads non-GPL modules, it shouldn't be able to use GPLONLY symbols.". He later added that Ndiswrapper itself, wasn't GPL compatible. In the course of the lengthy discussion he explained these and other arguments against the change, in more detail.

The discussion also mentioned the change to the USB API proposed for 2.6.25. With this change, USB developers tried to clarify that only USB drivers under GPL2, or a compatible licence, are allowed to use the central functionality of the kernel's internal USB driver API. However, Ndiswrapper is said to bypass this rule by claiming to be GPL compatible, but subsequently loading incompatible code - the NDIS drivers written for Windows. This code, it was discussed, then indirectly uses the USB interfaces enabled via EXPORT_SYMBOL_GPL.

Whether this is legal would probably cause controversy even among lawyers familiar with software licensing, and could only be clarified in court. Things don't usually go this far, which leaves the focus on what kernel developers will do. If every thing stays the way it is, Ndiswrapper is denied access to interfaces enabled via EXPORT_SYMBOL_GPL - as this includes the central USB interfaces in 2.6.25, Ndiswrapper will not function properly at least with USB networking hardware under the "official" Linux 2.6.25.

Kernel log in brief


  • Current plans schedule the release of 7.4 together with Fedora 9 for the end of April.
  • Linux developers are discussing the Central Regulatory Domain Agent (CRDA), a userspace program intended to adjust WiFi hardware to comply with the respective regional operating guidelines and legislation.
  • The developers of BadRAM are trying to convince kernel hackers to integrate these long established Linux extension into the official kernel. BadRAM can be used to instruct the kernel not to use faulty areas in memory modules – for example in order to continue using a notebook which has faulty memory soldered to its mainboard.
  • The Hdparm program is now available in versions 8.5 and 8.6 which fix several critical security holes in the previous 8.x versions.
  • Kernel developer Oliver Pinter, who has not made a big appearance so far, plans to maintain Linux version 2.6.22 within the "op" kernel series. This is following the recent and probably last release ( by the admins of the stable kernel series 2.6.22.


Print Version | Send by email | Permalink:

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit