From: "H. J. Lu" <hjl@lucon.org>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org
Subject: Re: Unaligned kernel access in crypto/sha1.c
Date: Mon, 20 Sep 2004 18:16:45 +0000 [thread overview]
Message-ID: <20040920181645.GA32526@lucon.org> (raw)
In-Reply-To: <20040917221108.32545506.akpm@osdl.org>
On Fri, Sep 17, 2004 at 10:11:08PM -0700, Andrew Morton wrote:
> "H. J. Lu" <hjl@lucon.org> wrote:
> >
> > 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.
> >
> >
>
> We really need to know the call trace here.
>
This is from a kernel with signed module support.
kernel unaligned access to 0xa0000002002e47ee, ip=0xa000000100211960
Call Trace:
[<a000000100017490>] show_stack+0x90/0xc0
spà0000017b8cf610
bspà0000017b8c9330
[<a0000001000174f0>] dump_stack+0x30/0x60
spà0000017b8cf7e0
bspà0000017b8c9318
[<a000000100043100>] ia64_handle_unaligned+0x540/0x2600
spà0000017b8cf7e0
bspà0000017b8c9290
[<a0000001000101b0>] ia64_prepare_handle_unaligned+0x30/0x60
spà0000017b8cf990
bspà0000017b8c9290
[<a00000010000fbe0>] ia64_leave_kernel+0x0/0x260
spà0000017b8cfba0
bspà0000017b8c9290
[<a000000100211960>] sha1_transform+0x60/0x3160
spà0000017b8cfd70
bspà0000017b8c9128
[<a000000100214c60>] sha1_update+0x120/0x1a0
spà0000017b8cfda0
bspà0000017b8c90e0
[<a00000010020fd40>] update_kernel+0x60/0x100
spà0000017b8cfda0
bspà0000017b8c90b0
[<a0000001000b3340>] module_verify_sig+0x660/0x740
spà0000017b8cfda0
bspà0000017b8c8ff0
[<a0000001000aed80>] load_module+0x7e0/0x2ba0
spà0000017b8cfda0
bspà0000017b8c8ec0
[<a0000001000b1220>] sys_init_module+0xe0/0x640
spà0000017b8cfe30
bspà0000017b8c8e50
[<a00000010000fa80>] ia64_ret_from_syscall+0x0/0x20
spà0000017b8cfe30
bspà0000017b8c8e50
[<a000000000010620>] 0xa000000000010620
spà0000017b8d0000
bspà0000017b8c8e50
WARNING: multiple messages have this Message-ID (diff)
From: "H. J. Lu" <hjl@lucon.org>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org
Subject: Re: Unaligned kernel access in crypto/sha1.c
Date: Mon, 20 Sep 2004 11:16:45 -0700 [thread overview]
Message-ID: <20040920181645.GA32526@lucon.org> (raw)
In-Reply-To: <20040917221108.32545506.akpm@osdl.org>
On Fri, Sep 17, 2004 at 10:11:08PM -0700, Andrew Morton wrote:
> "H. J. Lu" <hjl@lucon.org> wrote:
> >
> > 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.
> >
> >
>
> We really need to know the call trace here.
>
This is from a kernel with signed module support.
kernel unaligned access to 0xa0000002002e47ee, ip=0xa000000100211960
Call Trace:
[<a000000100017490>] show_stack+0x90/0xc0
sp=e00000017b8cf610
bsp=e00000017b8c9330
[<a0000001000174f0>] dump_stack+0x30/0x60
sp=e00000017b8cf7e0
bsp=e00000017b8c9318
[<a000000100043100>] ia64_handle_unaligned+0x540/0x2600
sp=e00000017b8cf7e0
bsp=e00000017b8c9290
[<a0000001000101b0>] ia64_prepare_handle_unaligned+0x30/0x60
sp=e00000017b8cf990
bsp=e00000017b8c9290
[<a00000010000fbe0>] ia64_leave_kernel+0x0/0x260
sp=e00000017b8cfba0
bsp=e00000017b8c9290
[<a000000100211960>] sha1_transform+0x60/0x3160
sp=e00000017b8cfd70
bsp=e00000017b8c9128
[<a000000100214c60>] sha1_update+0x120/0x1a0
sp=e00000017b8cfda0
bsp=e00000017b8c90e0
[<a00000010020fd40>] update_kernel+0x60/0x100
sp=e00000017b8cfda0
bsp=e00000017b8c90b0
[<a0000001000b3340>] module_verify_sig+0x660/0x740
sp=e00000017b8cfda0
bsp=e00000017b8c8ff0
[<a0000001000aed80>] load_module+0x7e0/0x2ba0
sp=e00000017b8cfda0
bsp=e00000017b8c8ec0
[<a0000001000b1220>] sys_init_module+0xe0/0x640
sp=e00000017b8cfe30
bsp=e00000017b8c8e50
[<a00000010000fa80>] ia64_ret_from_syscall+0x0/0x20
sp=e00000017b8cfe30
bsp=e00000017b8c8e50
[<a000000000010620>] 0xa000000000010620
sp=e00000017b8d0000
bsp=e00000017b8c8e50
next prev parent reply other threads:[~2004-09-20 18:16 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-16 23:16 Unaligned kernel access in crypto/sha1.c H. J. Lu
2004-09-16 23:16 ` H. J. Lu
2004-09-18 5:11 ` Andrew Morton
2004-09-18 5:11 ` Andrew Morton
2004-09-20 18:16 ` H. J. Lu [this message]
2004-09-20 18:16 ` H. J. Lu
2004-09-20 18:35 ` Andrew Morton
2004-09-20 18:35 ` Andrew Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040920181645.GA32526@lucon.org \
--to=hjl@lucon.org \
--cc=akpm@osdl.org \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.