Don't use conn->id for privilege checks, but domain_is_unprivileged().
This is part of XSA-326.
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
unsigned int cmd, num, off;
char **vec = NULL;
- if (conn->id != 0)
+ if (domain_is_unprivileged(conn))
return EACCES;
off = get_string(in, 0);
/* The index of pollfd in global pollfd array */
int pollfd_idx;
- /* Who am I? 0 for socket connections. */
+ /* Who am I? Domid of connection. */
unsigned int id;
/* Is this connection ignored? */
if (conn->transaction)
return EBUSY;
- if (conn->id && conn->transaction_started > quota_max_transaction)
+ if (domain_is_unprivileged(conn) &&
+ conn->transaction_started > quota_max_transaction)
return ENOSPC;
/* Attach transaction to input for autofree until it's complete */