Russell King writes:
> Or am I missing something?
csum_block_*() has nothing to do with checksumming buffers, it 2's
complement adds two integers passed as arguments based upon the offset
of one of the buffers (this decides if one of the csums needs to be
byte swapped before the 2's complement addition to get a correct
result).
That was the point of my mail, the last_byte_was_odd code
had nothing to do with what your checksum code needs to be
doing, never did and never will. Your premise was that the
last_byte_was_odd code "proved" that the csum_partial_copy
destination buffer could not be byte aligned, and I tried
to show that the last_byte_was_odd code had nothing to do
with whether that was allowed or not.
Your csum_partial_copy*() code needs to handle unaligned
destination buffers, period.
I understand that you are frustruated about this and it
requires you to touch some delicate assembly. But I'm
going to be blunt and say "tough", because everyone has
to implement this correctly. Just do it and get it
over with.
Later,
David S. Miller
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/