Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: dvb-kernel budget tests



Emard writes:
 > I have conducted another series of tests on dvb-kernel
 > 4 parallel processes:
 > 
 > 0: szap -r zdf
 > 1: dvb0_0 promisc on/off and hw ether redefine endless loop
 > 2: dvb0_0 add/remove endless loop
 > 3: alevt-date -vbi /dev/dvb/adapter0/dvr0 endless loop
 > 
 > There were plenty of race conditions possible.

Not really, since szap only calls filter setting routines 
at the very beginning, alevt-date not at all.
I'll see if I can hack something else together tomorrow. 

Note that this also can only happen if another process is just 
allocating/setting/changing a filter and in just that moment when
it has downed the semaphore in dvb_demux.c the softirq 
which handles the networking is triggered and calls the
set_multicast_list() function in dvb_net.

Then, the call which sets the section filter for the multicast 
list will use a down_interruptible() in dvb_demux.c which will 
fail and thus call schedule() which causes an oops in schedule() 
because set_multicast_list() is called during interrupt.
Also cf. /usr/src/linux/Documentation/networking/netdevices.txt
which states that sleeping is not allowed here. 


 > dvb-kernel survived that test. Please post crashme
 > code sample which can attempt to cause the oops for
 > the budget modules.

This is of course a bug in the upper DVB layers and not the 
budget modules.


Ralph





-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index