aboutsummaryrefslogtreecommitdiffstats
path: root/tools/xenstore/xenstored_domain.c
diff options
context:
space:
mode:
authorvhanquez@kneesa.uk.xensource.com <vhanquez@kneesa.uk.xensource.com>2006-05-11 15:51:56 +0100
committervhanquez@kneesa.uk.xensource.com <vhanquez@kneesa.uk.xensource.com>2006-05-11 15:51:56 +0100
commit7e8cc1fb7f2b24c6c7724c231f72219f8034041a (patch)
treed9a114b7dd1ba9f634a2d8594c74ccf75e949f93 /tools/xenstore/xenstored_domain.c
parentacd5a62ae9c9fb33baf0314b659c9dce74176f49 (diff)
downloadxen-7e8cc1fb7f2b24c6c7724c231f72219f8034041a.tar.gz
xen-7e8cc1fb7f2b24c6c7724c231f72219f8034041a.tar.bz2
xen-7e8cc1fb7f2b24c6c7724c231f72219f8034041a.zip
dom0 and anonymous connections can create unlimited sized entries in the store.
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
Diffstat (limited to 'tools/xenstore/xenstored_domain.c')
-rw-r--r--tools/xenstore/xenstored_domain.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 0de6f99c17..fa45e5dbde 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -250,6 +250,11 @@ bool domain_can_read(struct connection *conn)
return (intf->req_cons != intf->req_prod);
}
+bool domain_is_unprivileged(struct connection *conn)
+{
+ return (conn && conn->domain && conn->domain->domid != 0);
+}
+
bool domain_can_write(struct connection *conn)
{
struct xenstore_domain_interface *intf = conn->domain->interface;
@@ -587,7 +592,7 @@ void domain_entry_dec(struct connection *conn)
int domain_entry(struct connection *conn)
{
- return (conn && conn->domain && conn->domain->domid)
+ return (domain_is_unprivileged(conn))
? conn->domain->nbentry
: 0;
}
@@ -609,7 +614,7 @@ void domain_watch_dec(struct connection *conn)
int domain_watch(struct connection *conn)
{
- return (conn && conn->domain && conn->domain->domid)
+ return (domain_is_unprivileged(conn))
? conn->domain->nbwatch
: 0;
}