From 2bbb3d0fe9149b302b42c98cffe3fbf1aa286548 Mon Sep 17 00:00:00 2001 From: Machon Gregory Date: Mon, 4 Apr 2011 15:54:45 +0100 Subject: [PATCH] xsm: Error code consistency Signed-off-by: Machon Gregory --- xen/include/xsm/xsm.h | 6 +++++- xen/xsm/flask/flask_op.c | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h index a91b35dd12..c132ea6ef8 100644 --- a/xen/include/xsm/xsm.h +++ b/xen/include/xsm/xsm.h @@ -427,7 +427,11 @@ static inline int xsm_remove_range (struct domain *d, char *name, unsigned long static inline long __do_xsm_op (XEN_GUEST_HANDLE(xsm_op_t) op) { - return xsm_call(__do_xsm_op(op)); +#ifdef XSM_ENABLE + return xsm_ops->__do_xsm_op(op); +#else + return -ENOSYS; +#endif } #ifdef XSM_ENABLE diff --git a/xen/xsm/flask/flask_op.c b/xen/xsm/flask/flask_op.c index 3c66d03e6a..265a3cf3ac 100644 --- a/xen/xsm/flask/flask_op.c +++ b/xen/xsm/flask/flask_op.c @@ -485,6 +485,9 @@ static int flask_security_sid(char *buf, uint32_t count) if ( length < 0 ) goto out; + if ( len > count ) + return -ERANGE; + memset(buf, 0, count); memcpy(buf, context, len); length = len; -- 2.39.5