> I thought the cache-aligned might make sense, since usually we'd expect the > failure to be at a cache-line level, but our copy_tofrom_user does accurate > accounting
That's one of the wrinkles in the current x86 memcpy_mcsafe(). It starts by checking alignment of the source address, and moves a byte at a time until it is 8-byte aligned. We do this because current x86 implementations do not gracefully handle an unaligned read that spans from a good cache-line into a poisoned one. This is different from copy_tofrom_user which aligns the destination for speed reasons (unaligned reads have a lower penalty than unaligned writes). -Tony