* Re: Driver Model
2003-09-02 18:43 Driver Model James Clark
@ 2003-09-02 19:13 ` Robert Love
2003-09-02 20:44 ` Richard B. Johnson
` (3 subsequent siblings)
4 siblings, 0 replies; 38+ messages in thread
From: Robert Love @ 2003-09-02 19:13 UTC (permalink / raw)
To: jimwclark; +Cc: linux-kernel
On Tue, 2003-09-02 at 14:43, James Clark wrote:
> 1. Will the move to a more uniform driver model in 2.6 increase the chances of
> a given binary driver working with a 2.6+ kernel.
I don't see how.
> 2. Will the new model reduce the use/need for kernel modules.
No. The two concepts are really unrelated.
> 3. Will the practice of deliberately breaking some binary only 'tainted'
> modules prevent take up of Linux. Isn't this taking things too far?
Tainted modules are not "broken" -- they just display a "tainted"
message. We do not do things to deliberately break binary-only modules.
The driver model has four main benefits, in my eyes:
- unifies code between the previous desperate driver models
- creates a device topology, which is needed for power
management
- allows for things like sysfs and other logical device
representations
- it is just the Right Way to do it
None of your questions are related to the driver model, really. It is
not a new uniform driver API, if that is what you are thinking. It is
a topology/hierarchal abstraction for devices.
Robert Love
^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Driver Model
2003-09-02 18:43 Driver Model James Clark
2003-09-02 19:13 ` Robert Love
@ 2003-09-02 20:44 ` Richard B. Johnson
2003-09-03 14:36 ` Stuart MacDonald
2003-09-02 21:29 ` Patrick Mochel
` (2 subsequent siblings)
4 siblings, 1 reply; 38+ messages in thread
From: Richard B. Johnson @ 2003-09-02 20:44 UTC (permalink / raw)
To: James Clark; +Cc: linux-kernel
On Tue, 2 Sep 2003, James Clark wrote:
> 1. Will the move to a more uniform driver model in 2.6 increase the
> chances of
> a given binary driver working with a 2.6+ kernel.
>
Most changes to the kernel are made without any consideration
of a so-called binary drivers at all. FWIW all drivers are "binary".
If a file is created that was generated for a specific kernel version,
it will work on that kernel version whether or not the driver
sources are available. If the driver does not contain the appropriate
MODULE_LICENSE() string, then several tools will show "tainted" so
that kernel developers will not waste time attempting to find a problem
with a kernel that might be caused by a driver. If the driver has its
source-code released, shown by the appropriate MODULE_LICENSE() string,
then kernel developers may review that driver and fix it if it
is causing a kernel problem.
> 2. Will the new model reduce the use/need for kernel modules. Would this be a
> good thing if functionality could be implemented in a driver instead of a
> module.
>
The current trend is to make all drivers modules. That way, the
kernel will not be bloated with thousands of drivers that are never
used. Basically, the kernel will have just enough hardware-interface
to boot, possibly into a RAM Disk. Then the modules necessary to
support the specific hardware are loaded, the devices initialized
and the boot continues.
> 3. Will the practice of deliberately breaking some binary only 'tainted'
> modules prevent take up of Linux. Isn't this taking things too far?
>
> James
> -
There is no such practice going on at this time. A module must
be compiled using the same interface elements (structure members, etc.)
as the kernel. Therefore it must have the same version number, compiled
against the same kernel headers. If the designer of the module can't
make the source code public (usually because of corporate restrictions)
then, if there is a problem that you need to report to the kernel
development group, you need to make sure that the "secret" module
is not installed at that time. If the secret module is causing
the kernel problem, which is seldom the case BYW, then you need to
contact the provider of the secret module. They may have a brand-
new version that works perfectly.
A case-in-point: A truly MAJOR screen-card developer has not been
allowed to make the source-code publically available because of
corporate restrictions (A publically-owned company might not be
able to make their intellectual property public. This might cause
a stock-holder revolt). This major company has quickly responded
to failures of their modules to work in the latest kernel versions.
The result is that they have a good working relationship, even though
inserting one of their drivers will cause the OPPS reporting software
to declare that the kernel is "tainted".
You don't get a "tainted" message otherwise. You just get good
screen graphics.
Cheers,
Dick Johnson
Penguin : Linux version 2.4.22 on an i686 machine (794.73 BogoMips).
Note 96.31% of all statistics are fiction.
^ permalink raw reply [flat|nested] 38+ messages in thread
* RE: Driver Model
2003-09-02 20:44 ` Richard B. Johnson
@ 2003-09-03 14:36 ` Stuart MacDonald
2003-09-03 14:52 ` Jan-Benedict Glaw
` (2 more replies)
0 siblings, 3 replies; 38+ messages in thread
From: Stuart MacDonald @ 2003-09-03 14:36 UTC (permalink / raw)
To: root, 'James Clark'; +Cc: linux-kernel
From: linux-kernel-owner@vger.kernel.org
> [mailto:linux-kernel-owner@vger.kernel.org] On Behalf Of
> Richard B. Johnson
> sources are available. If the driver does not contain the appropriate
> MODULE_LICENSE() string, then several tools will show "tainted" so
If the MODULE_LICENSE() macro is what determines taint, what's to
prevent a company from compiling their driver in their own kernel tree
with that macro and releasing it binary-only? Wouldn't that module
then be taint-free?
..Stu
^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Driver Model
2003-09-03 14:36 ` Stuart MacDonald
@ 2003-09-03 14:52 ` Jan-Benedict Glaw
2003-09-03 14:57 ` Alan Cox
2003-09-03 15:22 ` Richard B. Johnson
2 siblings, 0 replies; 38+ messages in thread
From: Jan-Benedict Glaw @ 2003-09-03 14:52 UTC (permalink / raw)
To: linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1457 bytes --]
On Wed, 2003-09-03 10:36:16 -0400, Stuart MacDonald <stuartm@connecttech.com>
wrote in message <002301c37228$bbc89950$294b82ce@stuartm>:
> From: linux-kernel-owner@vger.kernel.org
> > [mailto:linux-kernel-owner@vger.kernel.org] On Behalf Of
> > Richard B. Johnson
> > sources are available. If the driver does not contain the appropriate
> > MODULE_LICENSE() string, then several tools will show "tainted" so
>
> If the MODULE_LICENSE() macro is what determines taint, what's to
> prevent a company from compiling their driver in their own kernel tree
> with that macro and releasing it binary-only? Wouldn't that module
> then be taint-free?
To use it, you've to call it like
MODULE_LICENSE("GPL");
The string (license name) you supply is stored into the module binary
and checked ad module load time. Either it's "GPL" (or a few others
IIRC) or it isn't. If it is, the module is GPL and (after you've shipped
the module) any user can legally ask for sources (and you've to ship
them). If it isn't GPL (or the other accepted variants), it'll taint the
kernel. That'll tell us to not look at oopses, though...
MfG, JBG
--
Jan-Benedict Glaw jbglaw@lug-owl.de . +49-172-7608481
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg
fuer einen Freien Staat voll Freier Bürger" | im Internet! | im Irak!
ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 38+ messages in thread
* RE: Driver Model
2003-09-03 14:36 ` Stuart MacDonald
2003-09-03 14:52 ` Jan-Benedict Glaw
@ 2003-09-03 14:57 ` Alan Cox
2003-09-03 15:13 ` Stuart MacDonald
2003-09-03 22:41 ` David Schwartz
2003-09-03 15:22 ` Richard B. Johnson
2 siblings, 2 replies; 38+ messages in thread
From: Alan Cox @ 2003-09-03 14:57 UTC (permalink / raw)
To: Stuart MacDonald; +Cc: root, 'James Clark', Linux Kernel Mailing List
On Mer, 2003-09-03 at 15:36, Stuart MacDonald wrote:
> If the MODULE_LICENSE() macro is what determines taint, what's to
> prevent a company from compiling their driver in their own kernel tree
> with that macro and releasing it binary-only? Wouldn't that module
> then be taint-free?
They would be representing their module is GPL when its not, obtaining
services by deceving people (3rd party support) and if they used _GPL
symbols probably violating the DMCA by bypassing a digital rights
system.
In practice we've had two cases we know about where someone tried this,
one at least was almost certainly an accident the other one the vendor
seems to now have fixed after the threat of acute bad publicity.
You could equally ask the same question about any other measure - its
no different to "I could shoot the shopkeeper and not pay", its an
incentive to behave, a way for developers to make it clear their code
isnt for stealing and without denying people the choice of what they
run. The reputable vendors on the whole not only seem to obey it but
actually put informative MODULE_LICENSE() tags into their code for
their proprietary licenses.
Alan
^ permalink raw reply [flat|nested] 38+ messages in thread
* RE: Driver Model
2003-09-03 14:57 ` Alan Cox
@ 2003-09-03 15:13 ` Stuart MacDonald
2003-09-03 15:33 ` Mariusz Zielinski
2003-09-03 22:41 ` David Schwartz
1 sibling, 1 reply; 38+ messages in thread
From: Stuart MacDonald @ 2003-09-03 15:13 UTC (permalink / raw)
To: 'Alan Cox'
Cc: root, 'James Clark', 'Linux Kernel Mailing List'
From: linux-kernel-owner@vger.kernel.org
> You could equally ask the same question about any other measure - its
> no different to "I could shoot the shopkeeper and not pay", its an
> incentive to behave, a way for developers to make it clear their code
That's what I figured, I just wanted to check.
> isnt for stealing and without denying people the choice of what they
> run. The reputable vendors on the whole not only seem to obey it but
> actually put informative MODULE_LICENSE() tags into their code for
> their proprietary licenses.
Any examples off the top of your head? I'm curious.
..Stu
^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Driver Model
2003-09-03 15:13 ` Stuart MacDonald
@ 2003-09-03 15:33 ` Mariusz Zielinski
2003-09-03 15:50 ` Stuart MacDonald
2003-09-03 15:50 ` Mariusz Zielinski
0 siblings, 2 replies; 38+ messages in thread
From: Mariusz Zielinski @ 2003-09-03 15:33 UTC (permalink / raw)
To: Stuart MacDonald, 'Alan Cox'
Cc: root, 'James Clark', 'Linux Kernel Mailing List'
On Wednesday 03 of September 2003 17:13, Stuart MacDonald wrote:
> From: linux-kernel-owner@vger.kernel.org
>
> > You could equally ask the same question about any other measure - its
> > no different to "I could shoot the shopkeeper and not pay", its an
> > incentive to behave, a way for developers to make it clear their code
>
> That's what I figured, I just wanted to check.
>
> > isnt for stealing and without denying people the choice of what they
> > run. The reputable vendors on the whole not only seem to obey it but
> > actually put informative MODULE_LICENSE() tags into their code for
> > their proprietary licenses.
>
> Any examples off the top of your head? I'm curious.
Realtek 8180L wlan chipset driver.
--
...and all that jazz
Mariusz Zielinski - Wirtualna Polska
^ permalink raw reply [flat|nested] 38+ messages in thread
* RE: Driver Model
2003-09-03 15:33 ` Mariusz Zielinski
@ 2003-09-03 15:50 ` Stuart MacDonald
2003-09-03 16:02 ` Mariusz Zielinski
2003-09-03 16:58 ` Alan Cox
2003-09-03 15:50 ` Mariusz Zielinski
1 sibling, 2 replies; 38+ messages in thread
From: Stuart MacDonald @ 2003-09-03 15:50 UTC (permalink / raw)
To: 'Mariusz Zielinski', 'Alan Cox'
Cc: root, 'James Clark', 'Linux Kernel Mailing List'
From: Mariusz Zielinski [mailto:levi@wp-sa.pl]
> Realtek 8180L wlan chipset driver.
From:
http://www.realtek.com.tw/downloads/downloads1-3.aspx?series=16&Software=True
These drivers are all source and appear to be all GPLed.
..Stu
^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Driver Model
2003-09-03 15:50 ` Stuart MacDonald
@ 2003-09-03 16:02 ` Mariusz Zielinski
2003-09-03 17:58 ` Stuart MacDonald
2003-09-03 16:58 ` Alan Cox
1 sibling, 1 reply; 38+ messages in thread
From: Mariusz Zielinski @ 2003-09-03 16:02 UTC (permalink / raw)
To: Stuart MacDonald; +Cc: 'Linux Kernel Mailing List'
On Wednesday 03 of September 2003 17:50, Stuart MacDonald wrote:
> From: Mariusz Zielinski [mailto:levi@wp-sa.pl]
>
> > Realtek 8180L wlan chipset driver.
>
> From:
> http://www.realtek.com.tw/downloads/downloads1-3.aspx?series=16&Software=Tr
>ue
>
> These drivers are all source and appear to be all GPLed.
Look at
http://www.realtek.com.tw/downloads/downloads1-3.aspx?lineid=2002111&famid=2002111&series=2002121&Software=True
Archive: rh90-8180(120).zip
Length Method Size Ratio Date Time CRC-32 Name
-------- ------ ------- ----- ---- ---- ------ ----
2150 Defl:N 769 64% 07-24-03 10:30 bdcbb2db release/Makefile
216130 Defl:N 84093 61% 07-24-03 10:30 f6e934c9 release/priv_part.o
^^^^^^^^^^^^^^^^^^^
1503 Defl:N 548 64% 07-24-03 10:30 aa55c41c release/r8180_export.h
17834 Defl:N 3524 80% 07-24-03 10:30 b00831ae release/r8180_if.c
4488 Defl:N 1278 72% 07-24-03 10:30 00e6785f release/r8180_if.h
13319 Defl:N 2811 79% 07-24-03 10:30 1ad0ac11 release/r8180_pci_init.c
^^^^^^^^^^^^^^^^^^^^^^^^
#cat r8180_pci_init.c | grep MODULE_LICENSE
MODULE_LICENSE("GPL");
528 Defl:N 321 39% 07-24-03 10:30 9fe4dafc release/r8180_pci_init.h
8722 Defl:N 2028 77% 07-24-03 10:30 580d8c16 release/r8180_type.h
5072 Defl:N 1709 66% 07-24-03 10:30 90348255 release/readme
529 Defl:N 320 40% 07-24-03 10:30 aafe3723 release/rls_note_0724
155 Defl:N 116 25% 07-24-03 10:30 6d3018fc release/wlandown
587 Defl:N 266 55% 07-24-03 10:30 763d2e5f release/wlanup
-------- ------- --- -------
271017 97783 64% 12 files
--
Mariusz Zielinski
^ permalink raw reply [flat|nested] 38+ messages in thread
* RE: Driver Model
2003-09-03 15:50 ` Stuart MacDonald
2003-09-03 16:02 ` Mariusz Zielinski
@ 2003-09-03 16:58 ` Alan Cox
2003-09-03 18:21 ` Jeff Garzik
1 sibling, 1 reply; 38+ messages in thread
From: Alan Cox @ 2003-09-03 16:58 UTC (permalink / raw)
To: Stuart MacDonald
Cc: 'Mariusz Zielinski', root, 'James Clark',
'Linux Kernel Mailing List'
On Mer, 2003-09-03 at 16:50, Stuart MacDonald wrote:
> From: Mariusz Zielinski [mailto:levi@wp-sa.pl]
> > Realtek 8180L wlan chipset driver.
>
> From:
> http://www.realtek.com.tw/downloads/downloads1-3.aspx?series=16&Software=True
>
> These drivers are all source and appear to be all GPLed.
Only part source so realtek need a little re-education to make them fix
the drivers. Someone who deals with realtek drivers (Jeff Garzik ?) care
to start a polite initial dialog ?
^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Driver Model
2003-09-03 16:58 ` Alan Cox
@ 2003-09-03 18:21 ` Jeff Garzik
0 siblings, 0 replies; 38+ messages in thread
From: Jeff Garzik @ 2003-09-03 18:21 UTC (permalink / raw)
To: Alan Cox
Cc: Stuart MacDonald, 'Mariusz Zielinski',
root, 'James Clark', 'Linux Kernel Mailing List'
Alan Cox wrote:
> On Mer, 2003-09-03 at 16:50, Stuart MacDonald wrote:
>
>>From: Mariusz Zielinski [mailto:levi@wp-sa.pl]
>>
>>>Realtek 8180L wlan chipset driver.
>>
>>From:
>>http://www.realtek.com.tw/downloads/downloads1-3.aspx?series=16&Software=True
>>
>>These drivers are all source and appear to be all GPLed.
>
>
> Only part source so realtek need a little re-education to make them fix
> the drivers. Someone who deals with realtek drivers (Jeff Garzik ?) care
> to start a polite initial dialog ?
Maybe I'm blind but I don't see 8180 wireless support at all there.
They have for a driver whose zipfile is called "8139cp". You unpack it
and it's an ancient 8139too.c with 8139C+ support added :)
But no 8180 support?
Jeff
^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Driver Model
2003-09-03 15:33 ` Mariusz Zielinski
2003-09-03 15:50 ` Stuart MacDonald
@ 2003-09-03 15:50 ` Mariusz Zielinski
1 sibling, 0 replies; 38+ messages in thread
From: Mariusz Zielinski @ 2003-09-03 15:50 UTC (permalink / raw)
To: Stuart MacDonald; +Cc: 'Linux Kernel Mailing List'
On Wednesday 03 of September 2003 17:33, Mariusz Zielinski wrote:
> > Any examples off the top of your head? I'm curious.
> Realtek 8180L wlan chipset driver.
This is "bad example" ( closed source and GPL license ). Good one is nvidia
( MODULE_LICENSE("NVIDIA"); ).
--
...and all that jazz
Mariusz Zielinski - Wirtualna Polska
^ permalink raw reply [flat|nested] 38+ messages in thread
* RE: Driver Model
2003-09-03 14:57 ` Alan Cox
2003-09-03 15:13 ` Stuart MacDonald
@ 2003-09-03 22:41 ` David Schwartz
2003-09-04 11:03 ` Alan Cox
1 sibling, 1 reply; 38+ messages in thread
From: David Schwartz @ 2003-09-03 22:41 UTC (permalink / raw)
To: Alan Cox, Stuart MacDonald
Cc: root, 'James Clark', Linux Kernel Mailing List
> On Mer, 2003-09-03 at 15:36, Stuart MacDonald wrote:
> > If the MODULE_LICENSE() macro is what determines taint, what's to
> > prevent a company from compiling their driver in their own kernel tree
> > with that macro and releasing it binary-only? Wouldn't that module
> > then be taint-free?
> They would be representing their module is GPL when its not, obtaining
> services by deceving people (3rd party support) and if they used _GPL
> symbols probably violating the DMCA by bypassing a digital rights
> system.
Holy crap! You've totally pegged my hypocrisy meter.
It is an outright blatant violation of the GPL to build use limitations
into GPL'd works and then use the DMCA to prevent people from removing or
bypassing those limitations.
Next I'm going to add some new features to Linux and my code will check for
a license certificate before it runs. I'll use the DMCA to protect the
license check but I'll distribute the source code just like the GPL requires
me to.
No, the GPL does not require derived works to be GPL'd. No, the GPL does
not allow you to impose additional usage restrictions and use the DMCA to
prohibit people from modifying the code to use it the way they want.
DS
^ permalink raw reply [flat|nested] 38+ messages in thread
* RE: Driver Model
2003-09-03 22:41 ` David Schwartz
@ 2003-09-04 11:03 ` Alan Cox
0 siblings, 0 replies; 38+ messages in thread
From: Alan Cox @ 2003-09-04 11:03 UTC (permalink / raw)
To: David Schwartz
Cc: Stuart MacDonald, root, 'James Clark', Linux Kernel Mailing List
On Mer, 2003-09-03 at 23:41, David Schwartz wrote:
> Next I'm going to add some new features to Linux and my code will check for
> a license certificate before it runs. I'll use the DMCA to protect the
> license check but I'll distribute the source code just like the GPL requires
> me to.
Tivo already do this.
^ permalink raw reply [flat|nested] 38+ messages in thread
* RE: Driver Model
2003-09-03 14:36 ` Stuart MacDonald
2003-09-03 14:52 ` Jan-Benedict Glaw
2003-09-03 14:57 ` Alan Cox
@ 2003-09-03 15:22 ` Richard B. Johnson
2 siblings, 0 replies; 38+ messages in thread
From: Richard B. Johnson @ 2003-09-03 15:22 UTC (permalink / raw)
To: Stuart MacDonald; +Cc: 'James Clark', linux-kernel
On Wed, 3 Sep 2003, Stuart MacDonald wrote:
> From: linux-kernel-owner@vger.kernel.org
> > [mailto:linux-kernel-owner@vger.kernel.org] On Behalf Of
> > Richard B. Johnson
> > sources are available. If the driver does not contain the appropriate
> > MODULE_LICENSE() string, then several tools will show "tainted" so
>
> If the MODULE_LICENSE() macro is what determines taint, what's to
> prevent a company from compiling their driver in their own kernel tree
> with that macro and releasing it binary-only? Wouldn't that module
> then be taint-free?
>
> ..Stu
>
Well yes! You can do:
File: License.c
/*
*
* Everything in this file (only) is released under the so-called
* GNU Public License, incorporated herein by reference.
*
* Now, we just link this with any proprietary code and everybody
* but the lawyers are happy.
*/
#ifndef __KERNEL__
#define __KERNEL__
#endif
#ifndef MODULE
#define MODULE
#endif
#include <linux/module.h>
#if defined(MODULE_LICENSE)
MODULE_LICENSE("GPL");
#endif
You can link the output of this file with the binary-only file
and get rid of the 'tainted' message.
gcc -I./usr/src/linux/`uname-r` -o license.o License.c
ld -i -o driver.o binary.o license.o
....bbuutttt.... Now, if the kernel gets dorked because
a binary-only module is broken, the binary-only module will
not get fixed! The kernel developers need to know if the
source-code is available for everything that's in the kernel
when the kernel croaks. They need to examine the code of
every suspect module as well as the kernel code in the area
of interest. Note that a module inside the kernel is free to
destroy __everything__. A wild pointer in user-mode just
seg-faults, in kernel mode it can scribble over your hard-
disk and you won't even know it until you try to edit your
movie script that you've been working on for 20 years.
Currently, once an oops is reported and developers see the
'tainted' message, they ask the reporter to remove the module
that is producing that message. If the machine can't run without
it, they ask the person to get the help of the module provider.
Often "ask" is not too kind. Usually, it's a snide remark
by persons who are not trained in public affairs so this
may tend to cause some friction. However, remember that the
wizards that gave a lot of their time and effort to kernel
development don't really like to have some secret module
screwing up their work.
Cheers,
Dick Johnson
Penguin : Linux version 2.4.22 on an i686 machine (794.73 BogoMips).
Note 96.31% of all statistics are fiction.
^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Driver Model
2003-09-02 18:43 Driver Model James Clark
2003-09-02 19:13 ` Robert Love
2003-09-02 20:44 ` Richard B. Johnson
@ 2003-09-02 21:29 ` Patrick Mochel
2003-09-02 21:44 ` James Clark
2003-09-02 23:52 ` Andre Hedrick
2003-09-03 13:10 ` Alan Cox
4 siblings, 1 reply; 38+ messages in thread
From: Patrick Mochel @ 2003-09-02 21:29 UTC (permalink / raw)
To: James Clark; +Cc: linux-kernel
> 1. Will the move to a more uniform driver model in 2.6 increase the chances of
> a given binary driver working with a 2.6+ kernel.
Not necessarily. A binary driver still needs to be compiled for a specific
version of a kernel. And, if it's not already working, the new driver
model definitely won't help. :)
> 2. Will the new model reduce the use/need for kernel modules. Would this be a
> good thing if functionality could be implemented in a driver instead of a
> module.
No, it will not reduce usage of modules. The driver model has nothing to
do with whether something is compiled as a module or not.
> 3. Will the practice of deliberately breaking some binary only 'tainted'
> modules prevent take up of Linux. Isn't this taking things too far?
This is a loaded question, but ultimately it's a vendor issue. Most people
do and will use vendor kernels. What they do with their kernel interfaces
and how well they support binary modules is their beef.
Pat
^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Driver Model
2003-09-02 21:29 ` Patrick Mochel
@ 2003-09-02 21:44 ` James Clark
2003-09-02 22:05 ` Greg KH
` (2 more replies)
0 siblings, 3 replies; 38+ messages in thread
From: James Clark @ 2003-09-02 21:44 UTC (permalink / raw)
To: linux-kernel; +Cc: Patrick Mochel
Before I posted my original question I read Patrick's very helpful overview of
the Driver Model (www.amc.com.au/lca/loopback/papers/
Patrick_Mochel/Patrick_Mochel.pdf).
The reason I posed the question, as a newcomer to kernel development, moving
from WIN32 DDK development (sorry!) to Linux is that I was very surprised by
the module interface.
Would a more rigid 'plugin' interface and the concequent move from mainly
'source' modules to binary 'plugins' (still with source-code available for
all to see) mean that (a) Kernel was smaller (2) Had to be
released/recompiled less (4) Was EVEN more stable and (4) 'plugins' were more
portable across releases and easier to install ?
I love Linux but this seems to be holding it back...
James
On Tuesday 02 Sep 2003 10:29 pm, Patrick Mochel wrote:
> > 1. Will the move to a more uniform driver model in 2.6 increase the
> > chances of a given binary driver working with a 2.6+ kernel.
>
> Not necessarily. A binary driver still needs to be compiled for a specific
> version of a kernel. And, if it's not already working, the new driver
> model definitely won't help. :)
>
> > 2. Will the new model reduce the use/need for kernel modules. Would this
> > be a good thing if functionality could be implemented in a driver instead
> > of a module.
>
> No, it will not reduce usage of modules. The driver model has nothing to
> do with whether something is compiled as a module or not.
>
> > 3. Will the practice of deliberately breaking some binary only 'tainted'
> > modules prevent take up of Linux. Isn't this taking things too far?
>
> This is a loaded question, but ultimately it's a vendor issue. Most people
> do and will use vendor kernels. What they do with their kernel interfaces
> and how well they support binary modules is their beef.
>
>
> Pat
^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Driver Model
2003-09-02 21:44 ` James Clark
@ 2003-09-02 22:05 ` Greg KH
2003-09-02 22:08 ` Robert Love
2003-09-02 22:39 ` Jamie Lokier
2 siblings, 0 replies; 38+ messages in thread
From: Greg KH @ 2003-09-02 22:05 UTC (permalink / raw)
To: James Clark; +Cc: linux-kernel, Patrick Mochel
On Tue, Sep 02, 2003 at 10:44:55PM +0100, James Clark wrote:
>
> Would a more rigid 'plugin' interface and the concequent move from mainly
> 'source' modules to binary 'plugins' (still with source-code available for
> all to see) mean that (a) Kernel was smaller
No, we would have to support all versions of the APIs over time, making
the kernel larger and harder to maintain.
> (2) Had to be released/recompiled less
No, release frequency would have nothing to do with this.
> (4) Was EVEN more stable and (4) 'plugins' were more portable across
> releases and easier to install ?
No.
> I love Linux but this seems to be holding it back...
Please read the FAQ and many discussions about this very topic in the
past in the archives for why the kernel does not have a stable API
within itself.
That being said, the ammount the API changes over time in a "stable"
kernel series is usually quite small.
I understand coming from the Windows world this seems odd, but after a
bit of time you will see why it is quite nice.
Good luck,
greg k-h
^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Driver Model
2003-09-02 21:44 ` James Clark
2003-09-02 22:05 ` Greg KH
@ 2003-09-02 22:08 ` Robert Love
2003-09-02 22:39 ` Jamie Lokier
2 siblings, 0 replies; 38+ messages in thread
From: Robert Love @ 2003-09-02 22:08 UTC (permalink / raw)
To: jimwclark; +Cc: linux-kernel, Patrick Mochel
On Tue, 2003-09-02 at 17:44, James Clark wrote:
> Would a more rigid 'plugin' interface and the concequent move from mainly
> 'source' modules to binary 'plugins' (still with source-code available for
> all to see) mean that (a) Kernel was smaller (2) Had to be
> released/recompiled less (4) Was EVEN more stable and (4) 'plugins' were more
> portable across releases and easier to install ?
I do not think any of these implications are true, except (4).
A stable driver API would certainly imply (4). But I see no relation to
(a) -- actually, an API would bring complications and thus bloat, if
anything. I see no relation to (2). And (3) just seems like a wild
guess.
I agree that (4) would be a good thing. The problem is, its really not
what we have here today and not what any of the kernel developers want.
95% of the drivers (and 100% of those that the kernel developers use)
_are_ source-based and in the tree, so why have a stable API for them?
In other words, yes, (4) is nice. But not that nice, as a stable API
and driver interface implies a lot of other things that are not
necessarily good.
On the bright side, I do think that we will see a much more stable API
in 2.6. 2.4.n for n after Marcelo took over has also been stable.
Robert Love
^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Driver Model
2003-09-02 21:44 ` James Clark
2003-09-02 22:05 ` Greg KH
2003-09-02 22:08 ` Robert Love
@ 2003-09-02 22:39 ` Jamie Lokier
2 siblings, 0 replies; 38+ messages in thread
From: Jamie Lokier @ 2003-09-02 22:39 UTC (permalink / raw)
To: James Clark; +Cc: linux-kernel, Patrick Mochel
James Clark wrote:
> Would a more rigid 'plugin' interface and the concequent move from mainly
> 'source' modules to binary 'plugins' (still with source-code available for
> all to see) mean that (a) Kernel was smaller
No, it would undoubtedly make the kernel larger and slower.
> I love Linux but this seems to be holding it back...
Most of the authors of Linux would prefer a little holding back, if
the alternative was widespread binary-only drivers that they couldn't
debug or fix, or learn from, and a slower, larger kernel.
Of course we might be mistaken.
But please take a look at other kernels which _do_ offer a rigid
interface to binary plugins. Then ask yourself what social phenomena
created the Linux which is exciting and useful as it is, that makes
you want to write drivers for it now instead of those other kernels.
-- Jamie
^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Driver Model
2003-09-02 18:43 Driver Model James Clark
` (2 preceding siblings ...)
2003-09-02 21:29 ` Patrick Mochel
@ 2003-09-02 23:52 ` Andre Hedrick
2003-09-03 0:20 ` David Schwartz
2003-09-03 13:10 ` Alan Cox
4 siblings, 1 reply; 38+ messages in thread
From: Andre Hedrick @ 2003-09-02 23:52 UTC (permalink / raw)
To: James Clark; +Cc: linux-kernel
## The unoffical insider's guide to thwart the gpl_only garbage ##
## First how to finally become a total outcast from being in/near the ##
## inner circle to exile. ##
The soul intent of "GPL_ONLY" is to prevent binary modules.
The soul intent of "tainting" is to ignore the people who want a choice.
Now two sides to the sword with the above:
Create a pre-loading module to wrapper all the needed "GPL_ONLY" symbols
which rightly belong to the unprotected API.
-------------------------------------------
/*
* freed_symbols.h
*
* The Free Stolen Symbols module.
* Licensed under GPL and source code is free.
*/
extern int freed_xxxxx ( ... );
-------------------------------------------
/*
* freed_symbols.c
*
* The Free Stolen Symbols module.
* Licensed under GPL and source code is free.
*/
... blah blah, standard kernel module stuff and setup ...
int freed_xxxxx ( ... )
{
return xxxxx( ... );
}
EXPORT_SYMBOL(freed_xxxxx);
... blah blah, standard kernel module stuff and clean up ...
LICENSE("GPL");
-------------------------------------------
Now wash rinse repeat for all the symbols you need to create a pre-loader
module to return to usage all the symbols you need.
First you will get people complaining this violates intent, kindly give
them the middle finger, two fingers, fore arm, or whatever non verbal
expression you wish. Second envite them to get a lawyer. Third, when
they tell you to stop, ask if they are imposing restrictions on GPL for
terms of usage. If they are notify them they are in violation of the
license.
If you are an embedded space widget. Apply thumb to nose and wiggle
fingers. Provided you ship the source code you modify in the kernel, and
I do mean all of it, use the short cut to clobber the issues in module.h.
When they scream and complain about, this violates intent, ask them are
they issuing a restriction on the usage of the GPL kernel? If they do not
permit one to use it under GPL them the kernel itself is in violation.
The short version: It is a game of politics, where people what it both
ways. They want it to be open source and restict the usage.
Now back to "tainting", if the politics were such to cause all modules
which are not GPL to be rejected then the game is over. Because the
kernel does not reject loading, it by default approves of closed source
binary modules. One could use the means of taint-testing to accept or
reject, regardless of the original intent. Many have and will make the
argument the kernel has the ability to reject closed source and it choose
to accept.
Well I have now alienated myself from the world of open source, but
someone has to show who intellectually dishonestity in the politics.
This goes even further in some folks in the embedded appliance who will
digitally sign binary kernels against their module suite to prevent one
from compiling an identical kernel but unsigned, and the modules will not
load. This is a hot topic along with distos adding into their big dollar
distributions extra export_symbol hooks for things that do not exist in
the source tree shipped.
There is more, but you can discover all the left-right speak on your own.
Cheers,
Andre
PS: Did this earn my way back into exile again, damn the truth hurts!
On Tue, 2 Sep 2003, James Clark wrote:
> 1. Will the move to a more uniform driver model in 2.6 increase the chances of
> a given binary driver working with a 2.6+ kernel.
>
> 2. Will the new model reduce the use/need for kernel modules. Would this be a
> good thing if functionality could be implemented in a driver instead of a
> module.
>
> 3. Will the practice of deliberately breaking some binary only 'tainted'
> modules prevent take up of Linux. Isn't this taking things too far?
>
> James
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
> 1. Will the move to a more uniform driver model in 2.6 increase the chances of
> a given binary driver working with a 2.6+ kernel.
>
> 2. Will the new model reduce the use/need for kernel modules. Would this be a
> good thing if functionality could be implemented in a driver instead of a
> module.
>
> 3. Will the practice of deliberately breaking some binary only 'tainted'
> modules prevent take up of Linux. Isn't this taking things too far?
>
> James
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
^ permalink raw reply [flat|nested] 38+ messages in thread
* RE: Driver Model
2003-09-02 23:52 ` Andre Hedrick
@ 2003-09-03 0:20 ` David Schwartz
2003-09-03 17:38 ` Andre Hedrick
0 siblings, 1 reply; 38+ messages in thread
From: David Schwartz @ 2003-09-03 0:20 UTC (permalink / raw)
To: Andre Hedrick, James Clark; +Cc: linux-kernel
I agree with you, except for the one place where you've contradicted
yourself:
> If you are an embedded space widget. Apply thumb to nose and wiggle
> fingers. Provided you ship the source code you modify in the kernel, and
> I do mean all of it, use the short cut to clobber the issues in module.h.
> When they scream and complain about, this violates intent, ask them are
> they issuing a restriction on the usage of the GPL kernel? If they do not
> permit one to use it under GPL them the kernel itself is in violation.
In other words, you cannot release something under the GPL and
simultaneously restrict its use.
> Now back to "tainting", if the politics were such to cause all modules
> which are not GPL to be rejected then the game is over. Because the
> kernel does not reject loading, it by default approves of closed source
> binary modules. One could use the means of taint-testing to accept or
> reject, regardless of the original intent. Many have and will make the
> argument the kernel has the ability to reject closed source and it choose
> to accept.
So no, the kernel does not have the ability to reject closed source. That
would be an additional restriction upon use that the GPL does not allow you
to impose.
DS
^ permalink raw reply [flat|nested] 38+ messages in thread
* RE: Driver Model
2003-09-03 0:20 ` David Schwartz
@ 2003-09-03 17:38 ` Andre Hedrick
2003-09-03 18:19 ` Alan Cox
2003-09-04 12:40 ` Henning P. Schmiedehausen
0 siblings, 2 replies; 38+ messages in thread
From: Andre Hedrick @ 2003-09-03 17:38 UTC (permalink / raw)
To: David Schwartz; +Cc: James Clark, linux-kernel
On Tue, 2 Sep 2003, David Schwartz wrote:
>
> I agree with you, except for the one place where you've contradicted
> yourself:
>
> > If you are an embedded space widget. Apply thumb to nose and wiggle
> > fingers. Provided you ship the source code you modify in the kernel, and
> > I do mean all of it, use the short cut to clobber the issues in module.h.
> > When they scream and complain about, this violates intent, ask them are
> > they issuing a restriction on the usage of the GPL kernel? If they do not
> > permit one to use it under GPL them the kernel itself is in violation.
>
> In other words, you cannot release something under the GPL and
> simultaneously restrict its use.
You have made my points even clearer.
The fact that GPL_ONLY horse sh*t exists means there is a restriction on
usage. So "GPL_ONLY" has in effect violated GPL, by imposing restrictions
of usage. People will say that I am nuts and have spent to much time in
the disk drive layers and my brain has not stopped spinning to reconnect
to the stem.
> > Now back to "tainting", if the politics were such to cause all modules
> > which are not GPL to be rejected then the game is over. Because the
> > kernel does not reject loading, it by default approves of closed source
> > binary modules. One could use the means of taint-testing to accept or
> > reject, regardless of the original intent. Many have and will make the
> > argument the kernel has the ability to reject closed source and it choose
> > to accept.
>
> So no, the kernel does not have the ability to reject closed source. That
> would be an additional restriction upon use that the GPL does not allow you
> to impose.
Exactly!
I think it is about time to start http://www.ungpl.com/ however that is a
gas and pipe line already, which gives a broader meaning to the what and
why many people have earned the title of "GPL NAZIS".
Yeah, I said it and it is flamebait. I am pulling out some marshmellows
to cook as I wait for the roasting fireballs to come my way.
I am not here to make friends, just promote Linux for business and
commerial usage and the direction today is wrong period. I will not
debate the point, this is my opinion and it is correct.
Cheers,
Andre
PS: any references to "you" is a general to the mailing list and not to
any individual.
^ permalink raw reply [flat|nested] 38+ messages in thread
* RE: Driver Model
2003-09-03 17:38 ` Andre Hedrick
@ 2003-09-03 18:19 ` Alan Cox
2003-09-03 18:15 ` Andre Hedrick
2003-09-04 12:40 ` Henning P. Schmiedehausen
1 sibling, 1 reply; 38+ messages in thread
From: Alan Cox @ 2003-09-03 18:19 UTC (permalink / raw)
To: Andre Hedrick; +Cc: David Schwartz, James Clark, Linux Kernel Mailing List
On Mer, 2003-09-03 at 18:38, Andre Hedrick wrote:
> The fact that GPL_ONLY horse sh*t exists means there is a restriction on
> usage. So "GPL_ONLY" has in effect violated GPL, by imposing restrictions
> of usage. People will say that I am nuts and have spent to much time in
> the disk drive layers and my brain has not stopped spinning to reconnect
> to the stem.
Mummy there's a troll on the list again...
The GPL itself says that derivative works must be GPL. The GPL_ONLY
stuff just helps make that clear.
^ permalink raw reply [flat|nested] 38+ messages in thread
* RE: Driver Model
2003-09-03 18:19 ` Alan Cox
@ 2003-09-03 18:15 ` Andre Hedrick
0 siblings, 0 replies; 38+ messages in thread
From: Andre Hedrick @ 2003-09-03 18:15 UTC (permalink / raw)
To: Alan Cox; +Cc: David Schwartz, James Clark, Linux Kernel Mailing List
On Wed, 3 Sep 2003, Alan Cox wrote:
> On Mer, 2003-09-03 at 18:38, Andre Hedrick wrote:
> > The fact that GPL_ONLY horse sh*t exists means there is a restriction on
> > usage. So "GPL_ONLY" has in effect violated GPL, by imposing restrictions
> > of usage. People will say that I am nuts and have spent to much time in
> > the disk drive layers and my brain has not stopped spinning to reconnect
> > to the stem.
>
> Mummy there's a troll on the list again...
>
> The GPL itself says that derivative works must be GPL. The GPL_ONLY
> stuff just helps make that clear.
>
Gee I should follow other peoples advice about it takes two idiots to
argue in public, and not reply to the "troll bait".
So I wait for your political crap and ideas of making it impossible for
businesses with IP and property that is not and will never be open to work
inside or with Linux.
So with your bait and troll rants, I will challenge you and the rest of
the GPL only pinheads, to the pre-loader module issue which is gpl'd.
What are you going to do now? Sue, send laywers, please I invite and beg
you to do so. The "freed_symbols" project just got energized!
Cheers,
Andre
PS I am bold enough to sign my name to such issues ...
^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Driver Model
2003-09-03 17:38 ` Andre Hedrick
2003-09-03 18:19 ` Alan Cox
@ 2003-09-04 12:40 ` Henning P. Schmiedehausen
1 sibling, 0 replies; 38+ messages in thread
From: Henning P. Schmiedehausen @ 2003-09-04 12:40 UTC (permalink / raw)
To: linux-kernel
Andre Hedrick <andre@linux-ide.org> writes:
>why many people have earned the title of "GPL NAZIS".
Godwin's law. You lost.
Regards
Henning
--
Dipl.-Inf. (Univ.) Henning P. Schmiedehausen INTERMETA GmbH
hps@intermeta.de +49 9131 50 654 0 http://www.intermeta.de/
Java, perl, Solaris, Linux, xSP Consulting, Web Services
freelance consultant -- Jakarta Turbine Development -- hero for hire
"Dominate!! Dominate!! Eat your young and aggregate! I have grotty silicon!"
-- AOL CD when played backwards (User Friendly - 200-10-15)
^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Driver Model
2003-09-02 18:43 Driver Model James Clark
` (3 preceding siblings ...)
2003-09-02 23:52 ` Andre Hedrick
@ 2003-09-03 13:10 ` Alan Cox
4 siblings, 0 replies; 38+ messages in thread
From: Alan Cox @ 2003-09-03 13:10 UTC (permalink / raw)
To: jimwclark; +Cc: Linux Kernel Mailing List
On Maw, 2003-09-02 at 19:43, James Clark wrote:
> 3. Will the practice of deliberately breaking some binary only 'tainted'
> modules prevent take up of Linux. Isn't this taking things too far?
tainted doesn't break anything. tainted marks modules so we know they
are unsupported and every vendor, developer and the like can throw your
reports into the bitbucket. The binary vendor has our code we don;t have
theirs so they can go fix it.
As to "too far", the GPL is quite explicit and most people contributed
code on its basis. So its very unlikely that any binary only module is
legal in the first place. There is FSF code in the kernel, merged by
others and the FSF certainly feel that way.
If you want to run a binary unix system I'd recommend Mac OSx - its
rather nice.
Alan
^ permalink raw reply [flat|nested] 38+ messages in thread