public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: Jan Stancek <jstancek@redhat.com>
To: ltp@lists.linux.it
Subject: [LTP] [PATCH] madvise07: Increase probability of testing a	supported page type
Date: Wed, 13 Sep 2017 06:08:17 -0400 (EDT)	[thread overview]
Message-ID: <862571300.14738390.1505297297582.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <20170912154523.GB31460@rei.lan>



----- Original Message -----
> Hi!
> > > We were attempting to poison page types which do not support it (e.g. the
> > > zero
> > > page) due to our usage of mmap. Now we map some anonymous memory and
> > > write to
> > > it. Hopefully ensuring the underlying page is of a supported type.
> > > + * If the underlying page type of the memory we have mapped does not
> > > support
> > > + * poisoning then the test will fail. We try to map and write to the
> > > memory
> > > in
> > > + * such a way that by the time madvise is called the virtual memory
> > > address
> > > + * points to a supported page. However there may be some rare
> > > circumstances
> > > + * where the test produces the wrong result because we have somehow
> > > obtained
> > > + * an unsupported page.
> > 
> > Hi,
> > 
> > Can you elaborate please? If we always do mmap+touch anonymous memory,
> > how would we sometime end up with different page type?
> 
> Wouldn't this mean that the API is broken by desing?
> 
> One thing is that the call does not work on an unmapped page and fails
> to return an error. But if we cannot even guarantee that it will work
> if we make an effort to fault the page in advance its horribly broken by
> design.

I think Richard was talking about scenario where something happens
to page you just faulted in, e.g. it's swapped out for some reason.
That should be quite unlikely.

> 
> > I don't have objections to patch, but I'm thinking if we should go
> > further if there's possibility the test still won't be reliable.
> > We could relax the condition, for example by FAILing only if
> > child dies unexpectedly (signal != SIGBUS).
> 
> What would that mean, producing TCONF on any error from the madvise()
> call? Looking at manual pages the only error we may get running
> MADVISE_HWPOISON as a root on a mapped page is the EINVAL we handle
> anyway.

I'd stay with just "mmap+touch anonymous memory" for now and see if
that ever fails.

Regards,
Jan


  reply	other threads:[~2017-09-13 10:08 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-28 13:48 [LTP] [PATCH] madvise07: Increase probability of testing a supported page type Richard Palethorpe
2017-08-30  7:51 ` Jan Stancek
2017-09-01 12:44   ` Richard Palethorpe
2017-09-12 15:45   ` Cyril Hrubis
2017-09-13 10:08     ` Jan Stancek [this message]
2017-09-13 12:44       ` Cyril Hrubis
2017-09-13 12:45 ` Cyril Hrubis

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=862571300.14738390.1505297297582.JavaMail.zimbra@redhat.com \
    --to=jstancek@redhat.com \
    --cc=ltp@lists.linux.it \
    /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