Out of Tree Modules

Submitted by Jeremy
on October 26, 2007 - 12:46pm

"This argument seems to start from the assumption that any externally maintained kernel code *can* get into the kernel, which doesn't stand up to reality. Once you admit that there is code which, for very good reasons, won't ever be accepted into the mainline kernel tree, what you are saying amounts to: 'Code that isn't fit to be included in the mainline kernel isn't fit to exist at all'," Tilman Schmidt argued during the ongoing debate about whether or not LSM should support modules.

Greg KH responded, "what kind of code is not accepted into the mainline kernel tree for good reasons? What are these reasons? What specific code are you talking about?" He pointed to a wiki page on the Linux Driver Project website and explained, "I'm trying to compile a list of all known external modules and drivers and work to get them included in the main kernel tree to help prevent these kinds of things."


From: Tilman Schmidt
Subject: Re: Linux Security *Module* Framework (Was: LSM conversion to static interface)
Date: Oct 25, 4:09 pm 2007

Am 25.10.2007 00:31 schrieb Adrian Bunk:
> Generally, the goal is to get external modules included into the kernel=
=2E
> [...] even though it might sound harsh breaking
> external modules and thereby making people aware that their code should=
=20
> get into the kernel is IMHO a positive point.

This argument seems to start from the assumption that any externally
maintained kernel code *can* get into the kernel, which doesn't stand
up to  reality. Once you admit that there is code which, for very good
reasons, won't ever be accepted into the mainline kernel tree, what you
are saying amounts to: "Code that isn't fit to be included in the
mainline kernel isn't fit to exist at all."

I'm not sure I can agree with that.

--=20
Tilman Schmidt                          E-Mail: tilman@imap.cc
Bonn, Germany
Diese Nachricht besteht zu 100% aus wiederverwerteten Bits.
Unge=C3=B6ffnet mindestens haltbar bis: (siehe R=C3=BCckseite)

From: Greg KH Subject: Re: Linux Security *Module* Framework (Was: LSM conversion to static interface) Date: Oct 25, 7:56 pm 2007 On Fri, Oct 26, 2007 at 01:09:14AM +0200, Tilman Schmidt wrote: > Am 25.10.2007 00:31 schrieb Adrian Bunk: > > Generally, the goal is to get external modules included into the kernel. > > [...] even though it might sound harsh breaking > > external modules and thereby making people aware that their code should > > get into the kernel is IMHO a positive point. > > This argument seems to start from the assumption that any externally > maintained kernel code *can* get into the kernel, which doesn't stand > up to reality. Once you admit that there is code which, for very good > reasons, won't ever be accepted into the mainline kernel tree, what you > are saying amounts to: "Code that isn't fit to be included in the > mainline kernel isn't fit to exist at all." What kind of code is not accepted into the mainline kernel tree for good reasons? What are these reasons? What specific code are you talking about? I'm trying to compile a list of all known external modules and drivers and work to get them included in the main kernel tree to help prevent these kinds of things. If you know of any that are not on the list at: http://linuxdriverproject.org/twiki/bin/view/Main/OutOfTreeDrivers please feel free to add them, or email me with the needed information and I will add them to the list. thanks, greg k-h -
From: Tilman Schmidt Subject: Re: Linux Security *Module* Framework (Was: LSM conversion to static interface) Date: Oct 26, 2:46 am 2007 On Thu, 25 Oct 2007 19:56:47 -0700, Greg KH wrote: > On Fri, Oct 26, 2007 at 01:09:14AM +0200, Tilman Schmidt wrote: >> Am 25.10.2007 00:31 schrieb Adrian Bunk: >> > Generally, the goal is to get external modules included into the ker= nel. >> > [...] even though it might sound harsh breaking >> > external modules and thereby making people aware that their code sho= uld=20 >> > get into the kernel is IMHO a positive point. >>=20 >> This argument seems to start from the assumption that any externally >> maintained kernel code *can* get into the kernel, which doesn't stand >> up to reality. Once you admit that there is code which, for very good= >> reasons, won't ever be accepted into the mainline kernel tree, what yo= u >> are saying amounts to: "Code that isn't fit to be included in the >> mainline kernel isn't fit to exist at all." >=20 > What kind of code is not accepted into the mainline kernel tree for goo= d > reasons? - proprietary code - unmaintained code - code conflicting with existing kernel structure or policy - code in which the concerned subsystem maintainers see no benefit - code which its author is unable and/or unwilling to convert to kernel coding standards - code whose author is unable and/or unwilling to defend it on LKML > What are these reasons? The details vary, but the fundamental reason is always the same: to maintain a sufficient level of code quality in the kernel. Point in case, the recent discussion whether drivers not supporting suspend/resume should be refused to merge. > What specific code are you talking about? Some examples, in no particular order: Reiser4, AppArmor, VMware, the staircase deadline scheduler, the first version of ser_gigaset, the Matrox HAL module, SuSE's "taint extension". Yes, some of these are in the kernel now, or have been superseded by other code that is, but that doesn't invalidate my concern. > I'm trying to compile a list of all known external modules and drivers > and work to get them included in the main kernel tree to help prevent > these kinds of things. If you know of any that are not on the list at:= > http://linuxdriverproject.org/twiki/bin/view/Main/OutOfTreeDrivers > please feel free to add them, or email me with the needed information > and I will add them to the list. That's certainly helpful, but I still think there will always be a number of external modules that cannot be merged right now or at all, and deliberately making life difficult for out-of-tree code maintainers in order to coerce them into submitting their code for inclusion in the kernel will not work, it'll only create bad feelings. Thanks, Tilman --=20 Tilman Schmidt E-Mail: tilman@imap.cc Bonn, Germany Diese Nachricht besteht zu 100% aus wiederverwerteten Bits. Unge=F6ffnet mindestens haltbar bis: (siehe R=FCckseite)
From: Greg KH Subject: Re: Linux Security *Module* Framework (Was: LSM conversion to static interface) Date: Oct 26, 8:58 am 2007 On Fri, Oct 26, 2007 at 11:46:39AM +0200, Tilman Schmidt wrote: > On Thu, 25 Oct 2007 19:56:47 -0700, Greg KH wrote: > > I'm trying to compile a list of all known external modules and drivers > > and work to get them included in the main kernel tree to help prevent > > these kinds of things. If you know of any that are not on the list at: > > http://linuxdriverproject.org/twiki/bin/view/Main/OutOfTreeDrivers > > please feel free to add them, or email me with the needed information > > and I will add them to the list. > > That's certainly helpful, but I still think there will always be > a number of external modules that cannot be merged right now or at > all, and deliberately making life difficult for out-of-tree code > maintainers in order to coerce them into submitting their code for > inclusion in the kernel will not work, it'll only create bad > feelings. Do you have examples of proof of this? Read Documentation/stable_api_nonsense.txt for how we already make out-of-tree code developer's lives hell :) thanks, greg k-h -

what about loopaes

Anonymous (not verified)
on
October 27, 2007 - 12:49pm

its missing from the wiki list

Added, along with TrueCrypt

Anonymous (not verified)
on
October 28, 2007 - 7:59am

Added, along with TrueCrypt and BestCrypt.

Ps: to bypass the stupid registration thing, see: http://www.bugmenot.com/view/linuxdriverproject.org

spca cams

eru
on
October 30, 2007 - 2:38am

>> these kinds of things. If you know of any that are not on the list at:
>> http://linuxdriverproject.org/twiki/bin/view/Main/OutOfTreeDrivers

From that wiki page:

webcam driver http://mxhaard.free.fr/spca5xx.html (an awful lot of common webcams) was not merged because it does JPEG decoding in kernel space. needs to be ported to Video4Linux 2 API?

I wonder what kind of rejection reason is that? If a cam generates JPEG,
would it not be necessary for the driver decode it to support standard v4l interfaces?

Anyway, it is a shame if spca5xx stays out of the tree, since so many cheap webcams need it. I have bought two cams of different brands, and both turned out to be spca ones.

If a cam generates

intgr
on
October 30, 2007 - 3:43pm

If a cam generates JPEG,
would it not be necessary for the driver decode it to support standard v4l interfaces?

Yeah, V4L2 (that is, version 2) is designed to offload decoding and other work to the user space, but unfortunately it hasn't really caught on. I'm not sure if there are any efforts to port the gspca driver to V4L2; I seem to remember reading something, but I cannot say for sure.

If you want more information, here's a mailing list discussion: http://sourceforge.net/mailarchive/message.php?msg_id=6defe8840706031928...
(you can find more from the same archive, but I can't be bothered to search deeper).

I have bought two cams of different brands, and both turned out to be spca ones.

Indeed; as far as I can tell, this driver supports over half of the webcams out there. It's really sad that this amazing piece of work has to stand out of mainline, but because the driver exists, less people are motivated to work on it. I guess that's how things sometimes fall out.

Thanks for the interesting

eru
on
October 31, 2007 - 12:48am

Thanks for the interesting link. Seems putting spca into mainline is hampered as much by differences of opinion over style, as by pure technical issues. Too bad.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.