All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [linux-dvb] Re: Kernel oops with ttusb_dec
       [not found]     ` <200401182213.37387.linux-dvb@giblets.org>
@ 2004-01-19 20:34       ` Olaf Titz
  2004-01-19 21:01         ` Holger Waechtler
  0 siblings, 1 reply; 2+ messages in thread
From: Olaf Titz @ 2004-01-19 20:34 UTC (permalink / raw)
  To: linux-dvb, linux-kernel

[CCd to linux-kernel and dvb lists. Context: SuSE 9.0, kernel 2.4.21,
ttusb_dec module fails]

> > Is cipcb really needed in Release 1.36? It is the only modules which gives
> > crc32 as a symbol.

> > >>EIP; dde5ba82 <[cipcb]crc32+12/30>   <=====
> > >>
> > >>eax; dea04560 <[ttusb_dec]dsp_dec2000t+0/69100>
> > >>edx; dea0455f <[ttusb_dec]dec3000s_frontend_info+bf/c0>
> > >>esi; ddcfde18 <[snd-mixer-oss].data.end+eaf2141/ec4c389>
> > >>edi; ddcfde20 <[snd-mixer-oss].data.end+eaf2149/ec4c389>
> > >>esp; ddcfcdb4 <[snd-mixer-oss].data.end+eaf10dd/ec4c389>

> No, cipcb isn't needed.  It should be using the crc32 function from the main
> kernel.  If it's trying to use the one in cipcb, which takes very different
> arguments, it's no wonder there is a problem.
>
> I'm unsure of the right way to fix this.  Suggestions anyone?

Eeek. If the OP didn't even know if he needed the cipcb module, this
should mean he didn't knowingly start the CIPE driver, and[*] thus the
cipcb module was loaded by the modprobe dependency mechanism by virtue
of it defining a symbol called "crc32".

modprobe shouldn't know of that symbol in the CIPE module at all,
because it's not meant to be exported. There are some definitions in
the module subsystem which deal with the exporting of symbols. I
suspect either CIPE or DVB (or both of them) needs a fix in this area.
Anyone here knows more?

Another data point: crc32 isn't available in 2.4.21 at all, so it's
apparently(?) not a kernel configuration problem. But shouldn't that
mean that the ttusb_dec driver wouldn't run at all under that kernel?

Ah, by the way, this could perhaps have been avoided completely if the
kernel was compiled with CONFIG_MODVERSIONS enabled (because then the
crc32 function, if properly exported, would have gotten a name which
depends on its arguments). This not being on unconditionally is one of
my pet peeves with Linux and distros, because of the many CIPE
bugreports I get which are due to just version incompatibilities.

Olaf

[*] unless SUSE has really screwed it up and started a CIPE process by
default, but this is rather implausible as it needs nontrivial
configuration, and loading the module without the ciped process just
wastes memory.


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [linux-dvb] Re: Kernel oops with ttusb_dec
  2004-01-19 20:34       ` [linux-dvb] Re: Kernel oops with ttusb_dec Olaf Titz
@ 2004-01-19 21:01         ` Holger Waechtler
  0 siblings, 0 replies; 2+ messages in thread
From: Holger Waechtler @ 2004-01-19 21:01 UTC (permalink / raw)
  To: linux-dvb; +Cc: linux-kernel

Olaf Titz wrote:
> [CCd to linux-kernel and dvb lists. Context: SuSE 9.0, kernel 2.4.21,
> ttusb_dec module fails]
> 
> 
>>>Is cipcb really needed in Release 1.36? It is the only modules which gives
>>>crc32 as a symbol.
> 
> 
>>>>>EIP; dde5ba82 <[cipcb]crc32+12/30>   <=====
>>>>>
>>>>>eax; dea04560 <[ttusb_dec]dsp_dec2000t+0/69100>
>>>>>edx; dea0455f <[ttusb_dec]dec3000s_frontend_info+bf/c0>
>>>>>esi; ddcfde18 <[snd-mixer-oss].data.end+eaf2141/ec4c389>
>>>>>edi; ddcfde20 <[snd-mixer-oss].data.end+eaf2149/ec4c389>
>>>>>esp; ddcfcdb4 <[snd-mixer-oss].data.end+eaf10dd/ec4c389>
> 
> 
>>No, cipcb isn't needed.  It should be using the crc32 function from the main
>>kernel.  If it's trying to use the one in cipcb, which takes very different
>>arguments, it's no wonder there is a problem.
>>
>>I'm unsure of the right way to fix this.  Suggestions anyone?

it's probably safer to use crc32_le() or crc32_be(), depends on which 
one exactly you need.

> Eeek. If the OP didn't even know if he needed the cipcb module, this
> should mean he didn't knowingly start the CIPE driver, and[*] thus the
> cipcb module was loaded by the modprobe dependency mechanism by virtue
> of it defining a symbol called "crc32".
> 
> modprobe shouldn't know of that symbol in the CIPE module at all,
> because it's not meant to be exported. There are some definitions in
> the module subsystem which deal with the exporting of symbols. I
> suspect either CIPE or DVB (or both of them) needs a fix in this area.
> Anyone here knows more?

Use a recent kernel, there crc32(), crc32_le() and crc32_be() are 
implemented as library functions.

> Another data point: crc32 isn't available in 2.4.21 at all, so it's
> apparently(?) not a kernel configuration problem. But shouldn't that
> mean that the ttusb_dec driver wouldn't run at all under that kernel?
> 
> Ah, by the way, this could perhaps have been avoided completely if the
> kernel was compiled with CONFIG_MODVERSIONS enabled (because then the
> crc32 function, if properly exported, would have gotten a name which
> depends on its arguments). This not being on unconditionally is one of
> my pet peeves with Linux and distros, because of the many CIPE
> bugreports I get which are due to just version incompatibilities.

Enabling CONFIG_MODVERSIONS causes even more troubles, just browse the 
LinuxDVB mailing list archives, you'll find hundrets of mails where 
people failed to install standalone drivers just because they/their 
friends/their distributor didn't managed it to install matching kernel 
source, kernel config and kernel image.

Holger


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-01-19 21:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <ecartis-01182004203937.22827.1@mail.convergence2.de>
     [not found] ` <200401182002.18784.linux-dvb@giblets.org>
     [not found]   ` <200401182134.12598.rafael@mondoria.de>
     [not found]     ` <200401182213.37387.linux-dvb@giblets.org>
2004-01-19 20:34       ` [linux-dvb] Re: Kernel oops with ttusb_dec Olaf Titz
2004-01-19 21:01         ` Holger Waechtler

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.