All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Sandeen <sandeen@sandeen.net>
To: Zorro Lang <zlang@redhat.com>, fstests@vger.kernel.org
Cc: sandeen@redhat.com
Subject: Re: [PATCH] src/nsexec: fix stack pointer alignment exception
Date: Fri, 29 Sep 2017 09:44:05 -0500	[thread overview]
Message-ID: <3480df1f-d1d0-630d-985f-3dfd33e3ab9d@sandeen.net> (raw)
In-Reply-To: <20170927055252.12225-1-zlang@redhat.com>

On 9/27/17 12:52 AM, Zorro Lang wrote:
> When test g/317 or g/318 on ARM server, we got a kernel exception:
> 
>   kernel: nsexec[8203]: SP Alignment exception: pc=00000000004010a0 sp=00000000005200e8
> 
> nsexec gives an unaligned child stack address to clone() system
> call sometimes. For making sure it's always aligned, use
> "__attribute__((aligned))" extension of GCC (Thanks this suggestion
> from Eric sandeen).
> 
> Signed-off-by: Zorro Lang <zlang@redhat.com>
> ---
>  src/nsexec.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/src/nsexec.c b/src/nsexec.c
> index f033b1a4..205dd081 100644
> --- a/src/nsexec.c
> +++ b/src/nsexec.c
> @@ -138,7 +138,8 @@ childFunc(void *arg)
>  
>  #define STACK_SIZE (1024 * 1024)
>  
> -static char child_stack[STACK_SIZE];    /* Space for child's stack */
> +/* Space for child's stack */
> +static char __attribute__((aligned)) child_stack[STACK_SIZE];

Does it matter if the __attribute__ goes before or after
the array name (child_stack[])?  I can't quite tell from reading i.e.
https://gcc.gnu.org/onlinedocs/gcc-3.1/gcc/Variable-Attributes.html#Variable%20Attributes
if it does, though most examples I see have the __attribute__ after the variable
name, i.e.

> short array[3] __attribute__ ((aligned));

in the URL above.

-Eric

>  
>  int
>  main(int argc, char *argv[])
> 

  parent reply	other threads:[~2017-09-29 14:44 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-27  5:52 [PATCH] src/nsexec: fix stack pointer alignment exception Zorro Lang
2017-09-27 10:01 ` Carlos Maiolino
2017-09-29 14:44 ` Eric Sandeen [this message]
2017-09-29 15:52   ` Zorro Lang

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=3480df1f-d1d0-630d-985f-3dfd33e3ab9d@sandeen.net \
    --to=sandeen@sandeen.net \
    --cc=fstests@vger.kernel.org \
    --cc=sandeen@redhat.com \
    --cc=zlang@redhat.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.