From: "Kevin D. Kissell" <kevink@mips.com>
To: Sanjay Jain <sjain@Sanera.net>
Cc: linux-mips@oss.sgi.com
Subject: Re: unhandled kernel unaligned access
Date: Wed, 06 Mar 2002 11:37:44 -0800 [thread overview]
Message-ID: <3C867007.FB94B0D@mips.com> (raw)
In-Reply-To: MPEHJBMAKDIKNMNLMJCLIELJCBAA.sjain@sanera.net
Which sources are you using? Up until pretty recently,
there was a bug in unaligned.c which could cause this.
I don't know when it was fixed at SGI, but the fix
is in the 2.4.19-pre2 sources at kernel.org. The problem
was that the epc value in the exception context was
being advanced to the next instruction prior to the
invocation of search_exception_table(regs->cp0_epc).
The 2.4.19-pre2 code solves the problem by re-ordering
the operations and delaying the advancement of epc.
My own quick-and-dirty hack was simply to use the
unmutilated value which is also available to
emulate_load_store_insn(), changing that one line
to be "fixup = search_exception_table(pc)". That
seems to work.
Kevin K.
Sanjay Jain wrote:
>
> hi all,
>
> I am running a kernel test program which makes following call.
>
> getpeername(s, tdat[testno].sockaddr,tdat[testno].salen));
>
> In one particular case tdat[testno].salen is set to 1 which is a unaligned
> and invalid addr. It results in following oops.
>
> Unhandled kernel unaligned access in unaligned.c:emulate_load_store_insn,
> line
> 373:
> $0 : 00000000 10000024 00000000 00000005
> $4 : 10000d20 00000000 10000d20 00000001
> $8 : ffffffff 8b179e98 801c6da0 00000003
> $12: 00000000 00000002 8b179ecc 8f9875bc
> $16: 8b1954c0 00000001 10000d20 00000001
> $20: 004014e0 10002e08 00000000 0000000d
> $24: 00000001 2ac2db50
> $28: 8b178000 8b179e70 7fff7c70 801c6e2c
> epc : 00000000801c58d4
> Status : 10009f03
> Cause : 00800010
>
> BadAddr: 0000000000000001Process getpeername01 (pid: 9673,
> stackpage=8b178000)
> Stack: 8b179ec8 8eedf5a0 8b1954c0 00000001 801c6e2c 801c6dc4 8022370c
> 8020c788
> 8b179ec8 8eedf5a0 00010060 8eedf5a0 00000005 801c5b08 802c2048
> 8023a65c
> 000001d7 00000400 8b179ec8 00000005 000001d7 8eeb7780 5b343731
> 5d00d538
> 8fd2cd80 ffffffea 8eeb7780 00000000 00000000 00000001 00000003
> 00000003
> 7fff7c58 00000002 801c69b8 00406950 00401190 00000001 7fff7d24
> 00406950
> 8b1954c0 ...
> Call Trace: [<801c6e2c>] [<801c6dc4>] [<8022370c>] [<8020c788>] [<801c5b08>]
> [<
> 8023a65c>]
> [<801c69b8>] [<8010dce8>]
>
> Code: 04600003 00402821 8ce20000 <00002821> 00403021 10a00004 00a01021
> 8fb
> f0010 03e00008
>
> Is this the expected behavior if an unaligned address is passed in a system
> call?
next prev parent reply other threads:[~2002-03-06 20:38 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-03-05 14:14 boot different kernels on the indy ?! Andrea Venturi
2002-03-05 23:25 ` Florian Lohoff
2002-03-06 5:24 ` Ladislav Michl
2002-03-06 9:47 ` Florian Lohoff
2002-03-06 19:26 ` unhandled kernel unaligned access Sanjay Jain
2002-03-06 19:26 ` Sanjay Jain
2002-03-06 19:37 ` Kevin D. Kissell [this message]
2002-03-06 21:16 ` Ralf Baechle
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=3C867007.FB94B0D@mips.com \
--to=kevink@mips.com \
--cc=linux-mips@oss.sgi.com \
--cc=sjain@Sanera.net \
/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.