[linux-dvb] Null pointer in dvb_device_open

Ben Backx ben at bbackx.com
Wed Feb 20 12:07:20 CET 2008


Hi,

I'm (still) developing a driver for a dvb-device, I'm making some progress,
but I'm currently stuck at a null-pointer in dvb_device_open. The (relevant)
dmesg-output:

[  484.858908] BUG: unable to handle kernel NULL pointer dereference at
virtual address 00000000[  484.858917]  printing eip:[  484.858919]
f8cd360a[  484.858921] *pde = 00000000[  484.858924] Oops: 0000 [#1][
484.858925] SMP [  484.858928] Modules linked in: dvb_driver dvb_core ipv6
af_packet rfcomm l2cap bluetooth ppdev cpufreq_ondemand cpufreq_stats
cpufreq_powersave cpufreq_userspace freq_table cpufreq_conservative sbs
button ac container dock video battery sbp2 lp snd_intel8x0 snd_ac97_codec
ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss
snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device
snd soundcore parport_pc parport pcspkr snd_page_alloc shpchp pci_hotplug
i2c_nforce2 i2c_core nvidia_agp agpgart dv1394 evdev ext3 jbd mbcache sg
sd_mod ide_cd cdrom usbhid hid amd74xx ide_core sata_sil ohci1394 ieee1394
ata_generic libata scsi_mod forcedeth ehci_hcd ohci_hcd usbcore thermal
processor fan fuse apparmor commoncap[  484.858978] CPU:    0[  484.858979]
EIP:    0060:[<f8cd360a>]    Not tainted VLI[  484.858981] EFLAGS: 00010293
(2.6.22-14-generic #1)[  484.858999] EIP is at dvb_device_open+0x3a/0x120
[dvb_core][  484.859002] eax: eafcfc04   ebx: 76697264   ecx: f8ce6600
edx: 00000003[  484.859006] esi: 00000000   edi: eafcfc0c   ebp: eafcfc00
esp: ea123ec0[  484.859009] ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss:
0068[  484.859012] Process scan (pid: 5981, ti=ea122000 task=ea766f90
task.ti=ea122000)[  484.859015] Stack: ec9ae960 eb2aa8d0 00000003 f8cd35d0
f8ce65a0 00000000 eb2aa8d0 c0183466 [  484.859021]        ec9ae960 00000003
ec9ae960 eb2aa8d0 00000000 c01833c0 c017ec48 dff5ac00 [  484.859028]
e9a2c440 ec9ae960 ffffff9c ea123f30 00000003 c017ee05 ec9ae960 00000000 [
484.859034] Call Trace:[  484.859038]  [<f8cd35d0>]
dvb_device_open+0x0/0x120 [dvb_core][  484.859048]  [<c0183466>]
chrdev_open+0xa6/0x190[  484.859058]  [<c01833c0>] chrdev_open+0x0/0x190[
484.859062]  [<c017ec48>] __dentry_open+0xb8/0x1c0[  484.859073]
[<c017ee05>] nameidata_to_filp+0x35/0x40[  484.859079]  [<c017ee60>]
do_filp_open+0x50/0x60[  484.859085]  [<c02f20ea>] schedule+0x2ca/0x890[
484.859099]  [<c017eebe>] do_sys_open+0x4e/0xf0[  484.859105]  [<c01813b1>]
sys_write+0x41/0x70[  484.859110]  [<c017ef9c>] sys_open+0x1c/0x20[
484.859114]  [<c01041d2>] sysenter_past_esp+0x6b/0xa9[  484.859128]
=======================[  484.859129] Code: 50 34 a1 6c 66 ce f8 81 e2 ff ff
0f 00 89 54 24 08 eb 02 89 d8 8b 18 0f 18 03 90 3d 6c 66 ce f8 74 35 8d 68
fc 8b 75 0c 8d 78 08 <8b> 0e 0f 18 01 90 39 fe 74 de 8b 46 14 8b 55 00 c1 e0
04 0b 46 [  484.859154] EIP: [<f8cd360a>] dvb_device_open+0x3a/0x120
[dvb_core] SS:ESP 0068:ea123ec0

Since dvb_device_open is a function of the dvb_core, I'm guessing the
function is ok and there's something wrong with my part of the code. But, as
far as I can see, I never explicitly call or register the function, so
there's probably something wrong with the initialisation. I don't really see
what can go wrong, so if any of you guys can give me some hints/tips to what
I should pay extra attention, this is really appreciated.


Greetings,
Ben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.linuxtv.org/pipermail/linux-dvb/attachments/20080220/edaef272/attachment.htm 


More information about the linux-dvb mailing list