public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
To: Garrett Cooper <yanegomi@gmail.com>, ltp-list@lists.sourceforge.net
Cc: isimatu.yasuaki@jp.fujitsu.com
Subject: Re: [LTP] [PATCH] fix aio_suspend/3-1
Date: Thu, 28 Jan 2010 09:48:16 +0900	[thread overview]
Message-ID: <4B60DED0.70508@jp.fujitsu.com> (raw)
In-Reply-To: <364299f41001270101s6821a3a3l64bf928e599073cc@mail.gmail.com>

Hi Garrett

 >     Wouldn't it just be better to memset(&list, 0, sizeof(list)) the
 > array and just set that one array value to &aiocb[0]? Seems like a
 > much better idea...

Thank you for your good idea.
I applied it.

Regards,
Yasuaki Ishimatsu

--------------------------------------------------------------------------
When the aio_suspend/3-1.test ran, SIGSEGV occured with following message
on my x86_64 box.

---
/bin/sh: line 38: 10675 Segmentation fault      ./t0 240 conformance/interfaces/aio_suspend/3-1.test
  $COMPLOG 2>&1
---

This test does not initialize a list[1] array as follows.

---
  40 int main()
...
  88         list[0] = NULL;
  89         list[2] = &aiocb[0];
  90         list[3] = NULL;
  91         list[4] = NULL;
  92         list[5] = &aiocb[1];
  93         list[6] = &aiocb[2];
  94         list[7] = NULL;
...
---

So, list[1] holds a strange value. Since aio_suspend() uses this value as address,
SIGSEGV occurred.

When applying this patch, this test succeeds as follows.

---
conformance/interfaces/aio_suspend/3-1: execution: PASS
---

Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>

Index: ltp-2010-01-28/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/3-1.c
===================================================================
--- ltp-2010-01-28.orig/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/3-1.c 
2010-01-28 09:10:48.000000000 +0900
+++ ltp-2010-01-28/testcases/open_posix_testsuite/conformance/interfaces/aio_suspend/3-1.c 
2010-01-28 09:11:16.000000000 +0900
@@ -81,13 +81,11 @@ int main()
  		}
  	}

-	list[0] = NULL;
+	memset(&list, 0, sizeof(list));
+
  	list[2] = &aiocb[0];
-	list[3] = NULL;
-	list[4] = NULL;
  	list[5] = &aiocb[1];
  	list[6] = &aiocb[2];
-	list[7] = NULL;

  	if (aio_suspend(list, NENT, NULL) != 0)
  	{


------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

  reply	other threads:[~2010-01-28  1:02 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-27  5:16 [LTP] [PATCH] fix aio_suspend/3-1 Yasuaki Ishimatsu
2010-01-27  9:01 ` Garrett Cooper
2010-01-28  0:48   ` Yasuaki Ishimatsu [this message]
2010-01-28  3: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=4B60DED0.70508@jp.fujitsu.com \
    --to=isimatu.yasuaki@jp.fujitsu.com \
    --cc=ltp-list@lists.sourceforge.net \
    --cc=yanegomi@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox