All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robin Holt <holt@sgi.com>
To: Chuck Lever <chuck.lever@oracle.com>, tony.luck@intel.com
Cc: linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: kernel unaligned accesses on 2.6.29.
Date: Wed, 25 Mar 2009 01:14:18 +0000	[thread overview]
Message-ID: <20090325011418.GB8908@sgi.com> (raw)
In-Reply-To: <20090324172856.GA8908@sgi.com>

Had a few minutes to look around.

On Tue, Mar 24, 2009 at 12:28:57PM -0500, Robin Holt wrote:
> I just built and booted an ia64 2.6.29 kernel.  While accessing NFS
> filesystems, I occassionally get:
> 
> kernel unaligned access to 0xe00007bc3b8f67b9, ip=0xa00000020a61e370
> kernel unaligned access to 0xe00007bc3b8f67b1, ip=0xa00000020a61e3d1
> 
> grep a00000020a61 /proc/modules
> lockd 146448 1 nfs, Live 0xa00000020a610000
> 
> 
> These come in pairs.  I tracked it down to the lockd.ko kernel module
> and then objdump'd to find we are in:
> 
> 
> nsm_get_handle
> nsm_init_private():
> /data/lwork/attica2/holt/git-linus/v2.6.29/fs/lockd/mon.c:280
>     e370:       0b 00 98 68 98 11       [MMI]       st8 [r52]=r38;;

This one is:
	u64 *p = (u64 *)&nsm->sm_priv.data;
	...
	*p = (unsigned long)nsm;

sm_priv.data is an unsigned char array, so there are no alignment
rules. You either need to use memcpy, or not define it as an unsigned
char.  Tony, any suggestions?

> /data/lwork/attica2/holt/git-linus/v2.6.29/fs/lockd/mon.c:279
>     e376:       00 00 00 02 00 00                   nop.m 0x0
>     e37c:       92 d0 e9 53                         shl r16=r9,5;;
> 
> nsm_display_address():
> /data/lwork/attica2/holt/git-linus/v2.6.29/fs/lockd/mon.c:86
> ...
>     e3d0:       0a 60 28 1c 8d 39       [MMI]       cmp4.eq p12,p13\x10,r14;;
>     e3d6:       00 a8 95 30 23 00                   st8 [r37]=r53

Haven't gotten to this one yet.

Robin

WARNING: multiple messages have this Message-ID (diff)
From: Robin Holt <holt@sgi.com>
To: Chuck Lever <chuck.lever@oracle.com>, tony.luck@intel.com
Cc: linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: kernel unaligned accesses on 2.6.29.
Date: Tue, 24 Mar 2009 20:14:18 -0500	[thread overview]
Message-ID: <20090325011418.GB8908@sgi.com> (raw)
In-Reply-To: <20090324172856.GA8908@sgi.com>

Had a few minutes to look around.

On Tue, Mar 24, 2009 at 12:28:57PM -0500, Robin Holt wrote:
> I just built and booted an ia64 2.6.29 kernel.  While accessing NFS
> filesystems, I occassionally get:
> 
> kernel unaligned access to 0xe00007bc3b8f67b9, ip=0xa00000020a61e370
> kernel unaligned access to 0xe00007bc3b8f67b1, ip=0xa00000020a61e3d1
> 
> grep a00000020a61 /proc/modules
> lockd 146448 1 nfs, Live 0xa00000020a610000
> 
> 
> These come in pairs.  I tracked it down to the lockd.ko kernel module
> and then objdump'd to find we are in:
> 
> 
> nsm_get_handle
> nsm_init_private():
> /data/lwork/attica2/holt/git-linus/v2.6.29/fs/lockd/mon.c:280
>     e370:       0b 00 98 68 98 11       [MMI]       st8 [r52]=r38;;

This one is:
	u64 *p = (u64 *)&nsm->sm_priv.data;
	...
	*p = (unsigned long)nsm;

sm_priv.data is an unsigned char array, so there are no alignment
rules. You either need to use memcpy, or not define it as an unsigned
char.  Tony, any suggestions?

> /data/lwork/attica2/holt/git-linus/v2.6.29/fs/lockd/mon.c:279
>     e376:       00 00 00 02 00 00                   nop.m 0x0
>     e37c:       92 d0 e9 53                         shl r16=r9,5;;
> 
> nsm_display_address():
> /data/lwork/attica2/holt/git-linus/v2.6.29/fs/lockd/mon.c:86
> ...
>     e3d0:       0a 60 28 1c 8d 39       [MMI]       cmp4.eq p12,p13=10,r14;;
>     e3d6:       00 a8 95 30 23 00                   st8 [r37]=r53

Haven't gotten to this one yet.

Robin

  reply	other threads:[~2009-03-25  1:14 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-24 17:28 kernel unaligned accesses on 2.6.29 Robin Holt
2009-03-25  1:14 ` Robin Holt [this message]
2009-03-25  1:14   ` Robin Holt
2009-03-25  1:21   ` Robin Holt
2009-03-25  1:21     ` Robin Holt
2009-03-25  2:04   ` David Miller
2009-03-25  2:04     ` David Miller

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=20090325011418.GB8908@sgi.com \
    --to=holt@sgi.com \
    --cc=chuck.lever@oracle.com \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tony.luck@intel.com \
    /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.