diff options
author | jhb <jhb@FreeBSD.org> | 2012-04-20 20:27:31 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2012-04-20 20:27:31 +0000 |
commit | 000bbf07daf300341bc3a642e10cf636932d4fcf (patch) | |
tree | 7356bbc37f3f3e69a43399ca485c6f667f865062 /lib/csu | |
parent | aa85973504e8ab2a6d5b1ab434c06030e5302f7c (diff) | |
download | FreeBSD-src-000bbf07daf300341bc3a642e10cf636932d4fcf.zip FreeBSD-src-000bbf07daf300341bc3a642e10cf636932d4fcf.tar.gz |
The amr(4) firmware contains a rather dubious "feature" where it
assumes for small buffers (< 64k) that the OS driver is actually using
a buffer rounded up to the next power of 2. It also assumes that the
buffer is at least 4k in size. Furthermore, there is at least one
known instance of megarc sending a request with a 12k buffer where the
firmware writes out a 24k-ish reply.
To workaround the data corruption triggered by this "feature", ensure
that buffers for user commands use a minimum size of 32k, and that
buffers between 32k and 64k use a 64k buffer.
PR: kern/155658
Submitted by: Andreas Longwitz longwitz incore de
Reviewed by: scottl
MFC after: 1 week
Diffstat (limited to 'lib/csu')
0 files changed, 0 insertions, 0 deletions