Re: [kernel-abi] symbol versioning vs. out-of-tree modules.

Previous thread: [PATCH 1/1] block: installing include/linux/blktrace_api.h by John Jolly on Wednesday, September 24, 2008 - 7:47 am. (3 messages)

Next thread: Re: ltp getdents syscalls testcases and 2.6.27-rcX by Adrian Bunk on Wednesday, September 24, 2008 - 8:50 am. (2 messages)
From: Paweł
Date: Wednesday, September 24, 2008 - 8:07 am

Hi All,

with out-of-tree kernel modules we (users and linux distributions)
have a problem - with every frequent kernel release we need
to rebuild them all due to vermagic and possible abi changes.
this leads to lot of useless work (bumping rpm specs releases,
preparing rpm packages and so on).

naturally we could workaround the modprobe vermagic errors
but we currently can't detect the big-bang kernel abi changes.
e.g., some kernel function changes its parameter list while
the exported function(symbol) name still staying unchanged.
finally we get a modprobe-big-bang.

in fact, we can't use a c++ symbol name mangling to avoid
such problems but kernel build system could use a linker script
to versioning symbols (like glibc/libgcc). during the abi change,
kernel developers could just bump the symbol version and
external modules could be refused during loading with
'unresolved symbol' error which is imho much better solution
that an oops.

is it acceptable and possible to introducing such solution?
thanks for comments.

BR,
pawel.
--

From: Christoph Hellwig
Date: Wednesday, September 24, 2008 - 9:34 am

"we" aka the idiots that use out of tree modules on production systems.
Just stop doing that, and your problem is solved.

--

From: Tilman Schmidt
Date: Friday, September 26, 2008 - 2:50 am

s/solved/transformed into an even harder one/

Before throwing out something used on production systems you
have to have a working replacement solution. Yes, I know, people
are working on that, but "being worked on" !=3D "working".

HTH
T.

--=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: Alexey Dobriyan
Date: Wednesday, September 24, 2008 - 12:36 pm

So kernel developers should waste time thinking if some change will
result in some innumerable junk being broken, resulting in symbol

No. Don't even bother.
--

From: Arjan van de Ven
Date: Wednesday, September 24, 2008 - 2:05 pm

On Wed, 24 Sep 2008 17:07:59 +0200


if it were up to me we would remove modversions from the kernel and
just hard require an exact build of the module to the kernel; anything
else is .. at best an educated wild guess.

-- 
Arjan van de Ven 	Intel Open Source Technology Centre
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org
--

From: Greg KH
Date: Wednesday, September 24, 2008 - 7:48 pm

"we" are working hard to remove any and all barriers for modules to be
out-of-tree.  See the recent drivers/staging/ announcement, I can now
take pretty much any code that at least builds and works for someone,
and get it into the kernel tree where it can be properly cleaned up and
cared for over time before it moves to the "correct" location within the
kernel.

What kernel modules do you currently use/rely on that are not in the
main kernel tree?  Do you have links to them?  I'd be glad to add them.

thanks,

greg k-h
--

From: Paweł Sikora
Date: Wednesday, September 24, 2008 - 11:29 pm

here's a quick list:

- http://www.lirc.org
- http://sourceforge.net/projects/bluetooth-alsa
- http://rt2x00.serialmonkey.com
- http://www.unav-micro.com/Drivers.aspx -> AR81Family-linux-v1.0.1.0.tar.gz
  (e.g. asus-p5q-pro m/b has such ethernet port, pciid=1969:1026)
- http://aufs.sourceforge.net
- http://linux-uvc.berlios.de
- http://www.misdn.org
- toshiba bluetooth module [http://0bits.com/toshbt/toshbt-1.0.tar.gz]
- zaptel telephony driver [http://www.asterisk.org]
  with firmware [http://downloads.digium.com/pub/telephony/firmware/releases]
--

From: Sitsofe Wheeler
Date: Thursday, September 25, 2008 - 12:49 am

^^^^ People are taking steps to adapt this to be included in kernel. See 
  http://lwn.net/Articles/297770/ . I could have sworn I saw someone 
posting an input layer patch for lirc the other day too... Aha - 

Isn't this one already in the wireless tree? I believe it was merged in 
2.6.24 - 
http://kernelnewbies.org/Linux_2_6_24#head-62e9ebf067c978bbf70898986c0aa3904d1a3543 

I've read rumblings about one of the stacking FSes being merged but thus 

USB video has already been merged into mainline in 2.6.25 - 
http://kernelnewbies.org/Linux_2_6_26#head-6d4ee1ddea983f5c8ac491b8685a94ea6fa4132b 
! I'm using it on my eeepc...

Those are the ones I recognise off the top of my head. I'll have to 
search with regard to the other ones you mentioned...

-- 
Sitsofe | http://sucs.org/~sits/
--

From: Sitsofe Wheeler
Date: Thursday, September 25, 2008 - 1:26 am

> - http://sourceforge.net/projects/bluetooth-alsa

Allegedly deprecated in favour of a userspace ALSA plugin: 
http://www.mail-archive.com/debian-devel@lists.debian.org/msg253253.html


 > - http://www.unav-micro.com/Drivers.aspx -> 
AR81Family-linux-v1.0.1.0.tar.gz
 >   (e.g. asus-p5q-pro m/b has such ethernet port, pciid=1969:1026)

Isn't this the atl1e gigabit ethernet driver? Isn't this being merged 
into 2.6.27? - 
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a6a5325239...

 > - http://www.misdn.org

Isn't this going into 2.6.27? - http://lwn.net/Articles/291630/

 > - zaptel telephony driver [http://www.asterisk.org]
 >   with firmware 
[http://downloads.digium.com/pub/telephony/firmware/releases]

Renamed to DAHDI and developers apparently don't want it merged into 
mainline - 
http://driverdev.linuxdriverproject.org/pipermail/devel/2008-June/000475.html 
.

 > - toshiba bluetooth module [http://0bits.com/toshbt/toshbt-1.0.tar.gz]

I can't reach that URI on 0bits.com at the moment but a cached page 
linking to it says the following:

"I was fedup patching the kernel everytime i needed this bluetooth 
enabled on my Tecra M2, so since we can use modules, i modularised the 
necessary bits to make the bluetooth enabling independent of kernel. 
Here it is in all it's glory."

I'm not sure what the state of that one is or what issue it is working 
around...

-- 
Sitsofe | http://sucs.org/~sits/
--

From: Greg KH
Date: Thursday, September 25, 2008 - 5:54 am

I think Sitsofe has answered all of these links as to if they are
already merged, working on being merged, or refuse to be merged (like
zaptel.)

Are there any other out-of-tree modules that I need to be aware of to
help integrate?

If not, then there really isn't an issue here, right?  :)

thanks,

greg k-h
--

From: Greg KH
Date: Thursday, September 25, 2008 - 6:54 am

This looks almost sane, I'll suck it in and contact the author.  It does
look like they are suggesting that a core network change is also needed,

This is a bit odder, but might just be needed for one brand of laptop.
I'll ask to find out, at the least it needs to be changed to not use
/proc/ anymore, which is easily done.

thanks for the pointers, if anyone has any others, please let me know.

greg k-h
--

From: Tilman Schmidt
Date: Friday, September 26, 2008 - 4:25 am

- http://download.avm.de/cardware/fritzwlanusb.stick/linux/

- http://acx100.sourceforge.net/

Thanks,
Tilman

--=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
Date: Friday, September 26, 2008 - 8:36 am

[Empty message]
From: Arkadiusz Miskiewicz
Date: Friday, September 26, 2008 - 10:19 am

-- 
Arkadiusz Miśkiewicz        PLD/Linux Team
arekm / maven.pl            http://ftp.pld-linux.org/
--

From: Greg KH
Date: Friday, September 26, 2008 - 1:09 pm

apparmor requires patches to core parts of the kernel in order for it to
work.  This is for stand-alone drivers/filesystems/whatever only.

thanks,

greg k-h
--

Previous thread: [PATCH 1/1] block: installing include/linux/blktrace_api.h by John Jolly on Wednesday, September 24, 2008 - 7:47 am. (3 messages)

Next thread: Re: ltp getdents syscalls testcases and 2.6.27-rcX by Adrian Bunk on Wednesday, September 24, 2008 - 8:50 am. (2 messages)