On 01/23/2018 at 04:47 PM Oliver Freyermuth wrote: > Am 23.01.2018 um 16:28 schrieb David Miller: >> Looking at how these DMA counters are handled, there appears to be a >> requirement that the memory buffer is 64-byte aligned. >> >> [...] >> >> Therefore the driver needs to allocate "size + (64 - 1)" bytes and do >> the 64-byte alignment of the CPU pointer and the DMA address by hand. > > This is also what I wondered about as a non-expert in hardware drivers; > alignment should surely be enforced here. > > However, for the memory corruption I observed, I used an x86_64 system > (which I believe always has PAGE_SIZE aligned buffers). > So there should be another bug, unless I am mistaken about x86_64. > > I checked the deprecated r8168 driver by Realtek (I am not sure if this one > is also affected by the issue, though)
I'm using since years this driver because r8169 is broken (it is slow and it misses packages - which is extremely bad for real time applications like asterisk, if they appear 50s later ...). r8168-8.045.08 is an actual version which is provided by realtek on their homepage and which even compiles fine w/ 4.14.x. Regards, Andreas