Unaligned kernel access in crypto/sha1.c

From: H. J. Lu
Date: Thu Sep 16 2004 - 18:36:31 EST


I got

Sep 16 15:45:32 gnu-2 kernel: kernel unaligned access to
0xa0000002001c008e, ip=0xa0000001002135e0
Sep 16 15:45:37 gnu-2 kernel: kernel unaligned access to
0xa0000002002d005e, ip=0xa0000001002135e0
Sep 16 15:45:37 gnu-2 kernel: kernel unaligned access to
0xa0000002002d006e, ip=0xa0000001002135e0
Sep 16 15:45:37 gnu-2 kernel: kernel unaligned access to
0xa0000002002d007e, ip=0xa0000001002135e0
Sep 16 15:45:37 gnu-2 kernel: kernel unaligned access to
0xa0000002002d008e, ip=0xa0000001002135e0

on ia64 from sha1_transform in crypto/sha1.c:

/* Hash a single 512-bit block. This is the core of the algorithm. */
static void sha1_transform(u32 *state, const u8 *in)
{
u32 a, b, c, d, e;
u32 block32[16];

/* convert/copy data to workspace */
for (a = 0; a < sizeof(block32)/sizeof(u32); a++)
block32[a] = be32_to_cpu (((const u32 *)in)[a]);
^^^^^^^^^^^^^^^^
This may not be aligned for u32 on ia64.


H.J.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/