diff options
Diffstat (limited to 'kernel-lib')
-rw-r--r-- | kernel-lib/crc32c.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel-lib/crc32c.c b/kernel-lib/crc32c.c index dfa4e6c1..29fd01d4 100644 --- a/kernel-lib/crc32c.c +++ b/kernel-lib/crc32c.c @@ -218,5 +218,9 @@ u32 __crc32c_le(u32 crc, unsigned char const *data, size_t length) u32 crc32c_le(u32 crc, unsigned char const *data, size_t length) { + /* Use by-byte access for unaligned buffers */ + if ((unsigned long)data % sizeof(unsigned long)) + return __crc32c_le(crc, data, length); + return crc_function(crc, data, length); } |