diff options
author | vhanquez@kneesa.uk.xensource.com <vhanquez@kneesa.uk.xensource.com> | 2006-05-11 15:51:56 +0100 |
---|---|---|
committer | vhanquez@kneesa.uk.xensource.com <vhanquez@kneesa.uk.xensource.com> | 2006-05-11 15:51:56 +0100 |
commit | 7e8cc1fb7f2b24c6c7724c231f72219f8034041a (patch) | |
tree | d9a114b7dd1ba9f634a2d8594c74ccf75e949f93 /tools/xenstore/xenstored_domain.c | |
parent | acd5a62ae9c9fb33baf0314b659c9dce74176f49 (diff) | |
download | xen-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.c | 9 |
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; } |