From: Dave Kleikamp <dave.kleikamp@oracle.com>
To: ltp-list@lists.sourceforge.net
Subject: [LTP] [PATCH] ltp: Fix races in mmap1
Date: Wed, 28 Aug 2013 08:07:23 -0500 [thread overview]
Message-ID: <521DF60B.9010401@oracle.com> (raw)
Make map_address a volatile pointer so that it is dereferenced in
read_mem() after read_lock is set.
Also read_lock must protect the verbose printf that reads from map_address
as well.
Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
diff --git a/testcases/kernel/mem/mtest06/mmap1.c b/testcases/kernel/mem/mtest06/mmap1.c
index 7c80bb4..cd1127f 100644
--- a/testcases/kernel/mem/mtest06/mmap1.c
+++ b/testcases/kernel/mem/mtest06/mmap1.c
@@ -62,7 +62,7 @@
} while (0)
static int verbose_print = 0;
-static char *map_address;
+static char *volatile map_address;
static jmp_buf jmpbuf;
static volatile char read_lock = 0;
@@ -228,11 +228,13 @@ void *read_mem(void *ptr)
tst_resm(TINFO, "page fault occurred due to "
"a read after an unmap");
} else {
- if (verbose_print)
+ if (verbose_print) {
+ read_lock = 1;
tst_resm(TINFO,
"read_mem(): content of memory: %s",
(char *)map_address);
-
+ read_lock = 0;
+ }
for (j = 0; j < args[1]; j++) {
read_lock = 1;
if (map_address[j] != 'a')
------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
next reply other threads:[~2013-08-28 13:07 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-28 13:07 Dave Kleikamp [this message]
2013-08-28 13:48 ` [LTP] [PATCH] ltp: Fix races in mmap1 Stanislav Kholmanskikh
2013-08-28 14:33 ` chrubis
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=521DF60B.9010401@oracle.com \
--to=dave.kleikamp@oracle.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 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.