Mailing List archive

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

[linux-dvb] Re: CRC32 errors in sections



In the new year, Holger Waechtler wrote:
> 
> Jeremy Hall wrote:
> The DMX_CHECK_CRC flag is not implemented for av7110 based cards right 
> now. If you want to implement this follow the Budget codepath for an 
> example.
> 
Where does that codepath start? Why has it not been implemented?

> 
> > What might be the cause of 
> > data corruption? 
> 
> Buffer overflows because the host did not fetched the data fast enough 
> or uncorrectable block errrors in the MPEG stream. Maybe even a firmware 
> bug under high load.
> 
Would increasing the section buffer size help with this? How would I be 
able to find a firmware bug under high load? Both signal and SNR readings 
are good, so I doubt uncorrectable block errors would be a factor.

> 
> > When the driver gives you a section, does it at least 
> > sanity check the seclen to determine if it will make a memory out of 
> > bounds problem so it won't happily overwrite other memory?
> 
> The read() function call will never read more bytes than you specified 
> in the argument, so you'll never overwrite more memory than you passed 
> as read()-buffer.
> 
Is it a mmap'd read and you're actually accessing the incoming buffer, or 
does the driver copy a section to you? This question relates to the driver 
copying that data to userspace--how does it know how much to copy.  If the 
seclen is not correct, can the driver trash its memory structures?

_J

> Holger
> 



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



Home | Main Index | Thread Index