From: Dan Magenheimer <dan.magenheimer@oracle.com>
To: "Xen-Devel (E-mail)" <xen-devel@lists.xensource.com>
Subject: RE: New heap API and scrubbing
Date: Tue, 10 Feb 2009 22:53:18 +0000 (GMT) [thread overview]
Message-ID: <5af4178a-100f-4359-a4fa-5c8bc2227899@default> (raw)
In-Reply-To: <f4d380ca-b23a-4a6b-adb9-19e9016569eb@default>
> Are there any cases now where free_XXXheap_pages
> might free up pages that could be grabbed by
> another domain and those pages have not been
> scrubbed?
No replies on this part so following up to myself...
For tmem, I'm trying to determine under what circumstances
pages free'd to xenheap or domheap must be scrubbed.
Ideally, I'd like to free directly to the scrub list
so the standard page_scrub_timer mechanism will
scrub them. I looked but the mechanism doesn't
appear to be easily accessible.
Moreover, it appears that there are MANY calls throughout
Xen to free_XXXheap_page/s() but I don't see much code
that scrubs the pages before freeing them. Isn't
this a potential security issue? Perhaps it should
be easier to free+scrub pages?
I'm thinking that free_XXXheap_pages should have
a parameter (or a sister function) that results
in freeing but also putting the pages on the
scrub list. Something like:
void free_domheap_pages_scrub(x,y,scrub)
{
// existing free_domheap_pages code with
// a few changes to handle scrub param
}
#define free_domheap_pages(x,y) \
free_domheap_pages_scrub(x,y,0)
(and similar for free_xenheap_pages().)
Then, over time, each call to free_XXXheap_pages
can/should be examined to see whether it should
scrub or not.
Comments? Any thoughts on how to approach
this problem differently?
Also, I am maintaining a list of pages (using the
new page_list mechanism) that (in some cases) will
need to be "free+scrub". So I'd like to be able
to pass an entire list to the scrub
list, rather than remove each page from one list
(in tmem) and insert it into the scrub list.
Essentially a list_splice (from list.h).
Is this feasible/reasonable?
Dan
next prev parent reply other threads:[~2009-02-10 22:53 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-10 0:24 New heap API and scrubbing Dan Magenheimer
2009-02-10 5:19 ` Keir Fraser
2009-02-10 8:22 ` Jan Beulich
2009-02-10 8:44 ` Keir Fraser
2009-02-10 22:53 ` Dan Magenheimer [this message]
2009-02-11 7:58 ` Keir Fraser
2009-02-11 14:20 ` Dan Magenheimer
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=5af4178a-100f-4359-a4fa-5c8bc2227899@default \
--to=dan.magenheimer@oracle.com \
--cc=xen-devel@lists.xensource.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.