[linux-dvb] Possible concurrency issues

Sigmund Augdal Helberg sigmund at snap.tv
Tue Feb 7 11:26:28 CET 2006


I'm reading through dvb core code trying to figure out what causes some
data corruptions I see some times (particularly when the computer is
under heavy load). Now reading through this code I get some bad wibes
about how concurrency is handled, but this being kernel space code, and
me being not very experienced with that I figured I should ask. 

Take for instance dvb_dmxdev_buffer_read and _write. These two both
query and set many of the members of stuct dmxdev_buffer, but there
seems to be no explicit concurancy handling. dvb_dmxdev_buffer_write
seems to only be called when dmxdevfilter->dev->lock is held, but this
lock does not seem to be held when _read is called. 

Can anyone explain to me whether there is something inherent in the code
that makes this safe, or if there are any architectural features in the
kernel code that keeps this from being a problem?

Best regards,

Sigmund Helberg




More information about the linux-dvb mailing list