* 2.6.18-rc3-mm2: oops in device_bind_driver()
@ 2006-08-12 12:28 Mike Galbraith
2006-08-13 1:02 ` Andrew Morton
0 siblings, 1 reply; 6+ messages in thread
From: Mike Galbraith @ 2006-08-12 12:28 UTC (permalink / raw)
To: LKML
Greetings,
I'm hitting the oops below, though not on every boot.
DEV: registering device: ID = 'dvb0'
PM: Adding info for bttv-sub:dvb0
saa7130/34: v4l2 driver version 0.2.14 loaded
bus bttv-sub: add device dvb0
bttv0: add subdevice "dvb0"
BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000
printing eip:
c126e43f
*pde = 00000000
Oops: 0000 [#1]
4K_STACKS PREEMPT SMP
last sysfs file: /class/input/input2/name
Modules linked in: saa7134 bt878 ir_kbd_i2c bttv video_buf ir_common sd_mod i2c_i801 btcx_risc snd_intel8x0 snd_ac97_codec snd_ac97_bus snd_pcm tveeprom ohci1394 snd_timer snd_page_alloc prism54 snd_mpu401 ieee1394 snd_mpu401_uart snd_rawmidi snd_seq_device snd soundcore
CPU: 1
EIP: 0060:[<c126e43f>] Not tainted VLI
EFLAGS: 00010246 (2.6.18-rc3-mm2-smp #169)
EIP is at device_bind_driver+0x49/0xd0
eax: 00000000 ebx: c1fdb048 ecx: f8b4e268 edx: 00000000
esi: c1fdb084 edi: f8b46db8 ebp: dfccef98 esp: dfccef80
ds: 007b es: 007b ss: 0068
Process probe-0000:02:0 (pid: 3623, ti=dfcce000 task=dff57030 task.ti=dfcce000)
Stack: f8b46d80 dfccef98 c11de322 c1fdb048 00000000 f8b46db8 dfccefc4 c126e56d
c146e438 c145210e f8b3c243 c1fdb114 c1fdb114 c1fa3740 fffffffc dfccbe8c
c1fa3740 dfccefe4 c10361d6 c126e4c6 ffffffff ffffffff c10360f2 00000000
Call Trace:
[<c126e56d>] really_probe+0xa7/0x10c
[<c10361d6>] kthread+0xe4/0xe8
[<c1001005>] kernel_thread_helper+0x5/0xb
DWARF2 unwinder stuck at kernel_thread_helper+0x5/0xb
Leftover inexact backtrace:
[<c1003f83>] show_stack_log_lvl+0xa6/0xcb
[<c1004180>] show_registers+0x1d8/0x286
[<c100437f>] die+0x151/0x333
[<c10197f9>] do_page_fault+0x26b/0x51f
[<c13e02c9>] error_code+0x39/0x40
[<c126e56d>] really_probe+0xa7/0x10c
[<c10361d6>] kthread+0xe4/0xe8
[<c1001005>] kernel_thread_helper+0x5/0xb
Code: 00 89 44 24 08 c7 44 24 04 ac 53 40 c1 c7 04 24 f0 e3 46 c1 e8 38 4b db ff 31 f6 89 f0 83 c4 0c 5b 5e 5f 5d c3 8b 83 14 01 00 00 <8b> 00 89 44 24 08 8d 83 cc 00 00 00 89 44 24 04 c7 04 24 10 e4
EIP: [<c126e43f>] device_bind_driver+0x49/0xd0 SS:ESP 0068:dfccef80
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: 2.6.18-rc3-mm2: oops in device_bind_driver()
2006-08-12 12:28 2.6.18-rc3-mm2: oops in device_bind_driver() Mike Galbraith
@ 2006-08-13 1:02 ` Andrew Morton
2006-08-13 5:50 ` Mike Galbraith
0 siblings, 1 reply; 6+ messages in thread
From: Andrew Morton @ 2006-08-13 1:02 UTC (permalink / raw)
To: Mike Galbraith; +Cc: LKML, Greg KH, Mauro Carvalho Chehab
On Sat, 12 Aug 2006 12:28:46 +0000
Mike Galbraith <efault@gmx.de> wrote:
> Greetings,
>
> I'm hitting the oops below, though not on every boot.
>
> DEV: registering device: ID = 'dvb0'
> PM: Adding info for bttv-sub:dvb0
> saa7130/34: v4l2 driver version 0.2.14 loaded
> bus bttv-sub: add device dvb0
> bttv0: add subdevice "dvb0"
> BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000
> printing eip:
> c126e43f
> *pde = 00000000
> Oops: 0000 [#1]
> 4K_STACKS PREEMPT SMP
> last sysfs file: /class/input/input2/name
> Modules linked in: saa7134 bt878 ir_kbd_i2c bttv video_buf ir_common sd_mod i2c_i801 btcx_risc snd_intel8x0 snd_ac97_codec snd_ac97_bus snd_pcm tveeprom ohci1394 snd_timer snd_page_alloc prism54 snd_mpu401 ieee1394 snd_mpu401_uart snd_rawmidi snd_seq_device snd soundcore
> CPU: 1
> EIP: 0060:[<c126e43f>] Not tainted VLI
> EFLAGS: 00010246 (2.6.18-rc3-mm2-smp #169)
> EIP is at device_bind_driver+0x49/0xd0
> eax: 00000000 ebx: c1fdb048 ecx: f8b4e268 edx: 00000000
> esi: c1fdb084 edi: f8b46db8 ebp: dfccef98 esp: dfccef80
> ds: 007b es: 007b ss: 0068
> Process probe-0000:02:0 (pid: 3623, ti=dfcce000 task=dff57030 task.ti=dfcce000)
> Stack: f8b46d80 dfccef98 c11de322 c1fdb048 00000000 f8b46db8 dfccefc4 c126e56d
> c146e438 c145210e f8b3c243 c1fdb114 c1fdb114 c1fa3740 fffffffc dfccbe8c
> c1fa3740 dfccefe4 c10361d6 c126e4c6 ffffffff ffffffff c10360f2 00000000
> Call Trace:
> [<c126e56d>] really_probe+0xa7/0x10c
> [<c10361d6>] kthread+0xe4/0xe8
> [<c1001005>] kernel_thread_helper+0x5/0xb
> DWARF2 unwinder stuck at kernel_thread_helper+0x5/0xb
> Leftover inexact backtrace:
> [<c1003f83>] show_stack_log_lvl+0xa6/0xcb
> [<c1004180>] show_registers+0x1d8/0x286
> [<c100437f>] die+0x151/0x333
> [<c10197f9>] do_page_fault+0x26b/0x51f
> [<c13e02c9>] error_code+0x39/0x40
> [<c126e56d>] really_probe+0xa7/0x10c
> [<c10361d6>] kthread+0xe4/0xe8
> [<c1001005>] kernel_thread_helper+0x5/0xb
> Code: 00 89 44 24 08 c7 44 24 04 ac 53 40 c1 c7 04 24 f0 e3 46 c1 e8 38 4b db ff 31 f6 89 f0 83 c4 0c 5b 5e 5f 5d c3 8b 83 14 01 00 00 <8b> 00 89 44 24 08 8d 83 cc 00 00 00 89 44 24 04 c7 04 24 10 e4
> EIP: [<c126e43f>] device_bind_driver+0x49/0xd0 SS:ESP 0068:dfccef80
I'd assume that you have CONFIG_PCI_MULTITHREAD_PROBE set, and
gregkh-driver-driver-multithread.patch and
gregkh-driver-pci-multithreaded-probe.patch have found a DVB race.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: 2.6.18-rc3-mm2: oops in device_bind_driver()
2006-08-13 1:02 ` Andrew Morton
@ 2006-08-13 5:50 ` Mike Galbraith
2006-08-14 21:03 ` Greg KH
0 siblings, 1 reply; 6+ messages in thread
From: Mike Galbraith @ 2006-08-13 5:50 UTC (permalink / raw)
To: Andrew Morton; +Cc: LKML, Greg KH, Mauro Carvalho Chehab
On Sat, 2006-08-12 at 18:02 -0700, Andrew Morton wrote:
> I'd assume that you have CONFIG_PCI_MULTITHREAD_PROBE set, and
Yes.
-Mike
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: 2.6.18-rc3-mm2: oops in device_bind_driver()
2006-08-13 5:50 ` Mike Galbraith
@ 2006-08-14 21:03 ` Greg KH
2006-08-14 21:28 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 6+ messages in thread
From: Greg KH @ 2006-08-14 21:03 UTC (permalink / raw)
To: Mike Galbraith; +Cc: Andrew Morton, LKML, Mauro Carvalho Chehab
On Sun, Aug 13, 2006 at 05:50:34AM +0000, Mike Galbraith wrote:
> On Sat, 2006-08-12 at 18:02 -0700, Andrew Morton wrote:
>
> > I'd assume that you have CONFIG_PCI_MULTITHREAD_PROBE set, and
>
> Yes.
Mauro, this is odd. Anything in the dvb layer that would not like
multiple devices being probed at the same time?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: 2.6.18-rc3-mm2: oops in device_bind_driver()
2006-08-14 21:03 ` Greg KH
@ 2006-08-14 21:28 ` Mauro Carvalho Chehab
2006-08-14 23:52 ` Greg KH
0 siblings, 1 reply; 6+ messages in thread
From: Mauro Carvalho Chehab @ 2006-08-14 21:28 UTC (permalink / raw)
To: Greg KH
Cc: Mike Galbraith, Andrew Morton, LKML, v4l-dvb maintainer list,
Linux and Kernel Video, Linux DVB
Em Seg, 2006-08-14 às 14:03 -0700, Greg KH escreveu:
> On Sun, Aug 13, 2006 at 05:50:34AM +0000, Mike Galbraith wrote:
> > On Sat, 2006-08-12 at 18:02 -0700, Andrew Morton wrote:
> >
> > > I'd assume that you have CONFIG_PCI_MULTITHREAD_PROBE set, and
> >
> > Yes.
>
> Mauro, this is odd. Anything in the dvb layer that would not like
> multiple devices being probed at the same time?
We should hardly check for all race conditions. It is likely to cause
some random troubles at both V4L and DVB sides.
For example, on V4L side, this may produce weird stuff like bad device
number associations (for example, the same device might get /dev/video0
and /dev/radio1, but apps expects to have the same numbering for
both)...
The same on DVB: demux0 should be associated with frontend0, for DVB to
work properly, but, with simultaneous probing, this might not happen.
For sure some newer locks will be required for multithread probe.
>
> thanks,
>
> greg k-h
Cheers,
Mauro.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: 2.6.18-rc3-mm2: oops in device_bind_driver()
2006-08-14 21:28 ` Mauro Carvalho Chehab
@ 2006-08-14 23:52 ` Greg KH
0 siblings, 0 replies; 6+ messages in thread
From: Greg KH @ 2006-08-14 23:52 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Mike Galbraith, Andrew Morton, LKML, v4l-dvb maintainer list,
Linux and Kernel Video, Linux DVB
On Mon, Aug 14, 2006 at 06:28:54PM -0300, Mauro Carvalho Chehab wrote:
> Em Seg, 2006-08-14 ?s 14:03 -0700, Greg KH escreveu:
> > On Sun, Aug 13, 2006 at 05:50:34AM +0000, Mike Galbraith wrote:
> > > On Sat, 2006-08-12 at 18:02 -0700, Andrew Morton wrote:
> > >
> > > > I'd assume that you have CONFIG_PCI_MULTITHREAD_PROBE set, and
> > >
> > > Yes.
> >
> > Mauro, this is odd. Anything in the dvb layer that would not like
> > multiple devices being probed at the same time?
> We should hardly check for all race conditions. It is likely to cause
> some random troubles at both V4L and DVB sides.
>
> For example, on V4L side, this may produce weird stuff like bad device
> number associations (for example, the same device might get /dev/video0
> and /dev/radio1, but apps expects to have the same numbering for
> both)...
>
> The same on DVB: demux0 should be associated with frontend0, for DVB to
> work properly, but, with simultaneous probing, this might not happen.
How do you prevent this from happening today, with USB devices showing
up at any point in time, combined with PCI hotplug devices?
> For sure some newer locks will be required for multithread probe.
I think you need it even without this PCI change :)
thanks,
greg k-h
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2006-08-14 23:55 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-12 12:28 2.6.18-rc3-mm2: oops in device_bind_driver() Mike Galbraith
2006-08-13 1:02 ` Andrew Morton
2006-08-13 5:50 ` Mike Galbraith
2006-08-14 21:03 ` Greg KH
2006-08-14 21:28 ` Mauro Carvalho Chehab
2006-08-14 23:52 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox