KernelStagingPolicy

From FedoraProject

Jump to: navigation, search

The drivers in the staging directory of the Linux kernel are known to be in a rough and incomplete state. They taint the kernel with "C" when loaded, which literally means TAINT_CRAP. Given that they taint the kernel, ABRT will not submit kernel bugs. For the vast majority of these drivers, the kernel team considers it unsafe to build and ship them. We do not have the confidence in the existing code, nor do we have the time to debug issues in known problematic drivers. Should you require one of these, they can often be found in "staging" kmod packages in third party repositories.

As with every policy, there are exceptions. Fedora ships a few staging drivers at the moment for various pieces of hardware. For the Fedora kernel team to enable a staging driver, the following conditions must be satisfied:

  1. There must be substantive code review and improvement upstream.
    • This means actual fixes, and not just stylistic changes.
  2. There must be a contributor willing to be assigned bug reports and deal with upstream.
  3. The contributor must be actively involved improving the driver upstream.
    • In other words, we will help be a test-bed for upstream, but not a garbage heap. That's for other distros.
  4. The driver must not result in an undue burden on the kernel team.
    • This means that if a large number of bug reports result from the driver, then fixes are not occurring upstream quickly enough.
  5. It must be understood that if any of these conditions are not met, or eventually fail to be met, the driver will be disabled.

Staging drivers accepted in Fedora:

  • at76_usb (John Linville) - We'd been shipping it patched on for ages.
  • lirc (Jarod Wilson) - As above, j-rod has done large amounts of clean up work.
  • r8712u (Larry Finger) - Larry maintains this upstream
  • rtllib* rtl8192e (Larry Finger)