public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: Carmelo AMOROSO <carmelo.amoroso@st.com>
To: Hannu Heikkinen <ext-hannu.m.heikkinen@nokia.com>
Cc: "ltp-list@lists.sourceforge.net" <ltp-list@lists.sourceforge.net>
Subject: Re: [LTP] ltp_clone alignment issues.
Date: Thu, 30 Sep 2010 12:42:40 +0200	[thread overview]
Message-ID: <4CA469A0.5090700@st.com> (raw)
In-Reply-To: <20100930133120.GA4070@hannu-debian.research.nokia.com>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 9/30/2010 3:31 PM, Hannu Heikkinen wrote:
> On 29/09/10 15:34 +0200, ext Carmelo AMOROSO wrote:
>  > -----BEGIN PGP SIGNED MESSAGE-----
>  > Hash: SHA1
>  >
>  > On 9/27/2010 3:34 PM, Carmelo AMOROSO wrote:
>  > > Folks,
>  > > I want to reopen an old discussion on ltp_clone and stack alignment
>  > > issue (see
>  > > 
> http://sourceforge.net/mailarchive/message.php?msg_name=4B421480.1040400%40petalogix.com).
>  > > Indeed recently a commit has partially fixed a problem on ARM
>  > > (0056e395170eb8fc3ffbb22d7bd364fe47c2013e), but I think this should be
>  > > extended to all archs that have stack that grows downwards.
>  > >
>  > > Indeed, as Jiri replied in that old thread, the value passed to clone as
>  > > child stack should be never accessed, because it is the topmost address
>  > > of the memory allocated for the child process (it's the previous stack
>  > > pointer).
>  > >
>  > > So, in archs that do not like unaligned stack, using (stack - size - 1 )
>  > > will cause the process to be killed by a SIGBUS, on other archs, we are
>  > > just wasting one byte of the malloc-ed stack.
>  > >
>  > > On my SH4 arch, the stack must be 4byte aligned (as in ARM).
>  > >
>  > > Please, find attached a patch against master branch
>  > >
>  > > Best regards,
>  > > Carmelo
>  >
>  > Hi,
>  > any feedback on this ?
>  >
>  > Cheers,
>  > Carmelo
> 
>  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
> ---
> lib/cloner.c | 9 +++------
> 1 files changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/lib/cloner.c b/lib/cloner.c
> index 6ad4a00..e53c9cf 100644
> --- a/lib/cloner.c
> +++ b/lib/cloner.c
> @@ -59,16 +59,13 @@ ltp_clone(unsigned long clone_flags, int (*fn)(void
> *arg), void *arg,
> ret = clone(fn, stack, clone_flags, arg);
> #elif defined(__ia64__)
> ret = clone2(fn, stack, stack_size, clone_flags, arg, NULL, NULL,
> NULL);
> -#elif defined(__arm__)
> +#else
> /*
> - * Stack size should be a multiple of 32 bit words
> - * & stack limit must be aligned to a 32 bit boundary
> + * For archs where stack grows downwards, stack points to the topmost
> address
> + * of the memory space set up for the child stack.
> */
> ret = clone(fn, (stack ? stack + stack_size : NULL),
> clone_flags, arg);
> -#else
> - ret = clone(fn, (stack ? stack + stack_size - 1 : NULL),
> - clone_flags, arg);
> #endif
> 
> return ret;
> --
> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
> 
> Hi,
> 
> Acked-by Hannu Heikkinen <ext-hannu.m.heikkinen@nokia.com>
> 
> Br,
> Hannu
> 
> --
> Hannu Heikkinen
> http://www.nixu.com
> 

Thanks, Hannu
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkykaaAACgkQoRq/3BrK1s9XQQCgqFuIf0UtZVE2cIY07ZY+6PrN
pmwAnRP5T4nCrFDwre+9VEwJ7WB6r0em
=w2Z8
-----END PGP SIGNATURE-----

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

  reply	other threads:[~2010-09-30 10:43 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-27 13:34 [LTP] ltp_clone alignment issues Carmelo AMOROSO
2010-09-29 13:34 ` Carmelo AMOROSO
2010-09-30 13:31   ` Hannu Heikkinen
2010-09-30 10:42     ` Carmelo AMOROSO [this message]
2010-10-01  4:06       ` Hannu Heikkinen
2010-10-04 13:04         ` Carmelo AMOROSO
2010-10-04 13:28           ` Garrett Cooper
2010-10-04 19:09             ` Hannu Heikkinen
2010-10-04 20:00             ` Hannu Heikkinen
2010-10-04 20:57               ` Garrett Cooper
2010-10-05  6:05             ` Carmelo AMOROSO
2010-10-04 19:05           ` Hannu Heikkinen
2010-11-09 11:24             ` Carmelo AMOROSO
2010-11-11  7:57               ` Subrata Modak
2010-11-11  8:08                 ` Carmelo AMOROSO
2010-11-11  9:59                   ` Garrett Cooper
2010-11-15  7:29                     ` Carmelo AMOROSO
2010-11-21  3:34                       ` Garrett Cooper
2010-11-24  8:30                         ` Carmelo AMOROSO
2010-11-24  8:44                           ` Garrett Cooper

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=4CA469A0.5090700@st.com \
    --to=carmelo.amoroso@st.com \
    --cc=ext-hannu.m.heikkinen@nokia.com \
    --cc=ltp-list@lists.sourceforge.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox