From 0efc61eaee5471acd7399c8536feff280b4966dd Mon Sep 17 00:00:00 2001 From: Venkat Yekkirala Date: Tue, 12 Dec 2006 13:02:41 -0600 Subject: selinux: Delete mls_copy_context This deletes mls_copy_context() in favor of mls_context_cpy() and replaces mls_scopy_context() with mls_context_cpy_low(). Signed-off-by: Venkat Yekkirala Acked-by: Stephen Smalley Signed-off-by: James Morris --- security/selinux/ss/context.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'security/selinux/ss/context.h') diff --git a/security/selinux/ss/context.h b/security/selinux/ss/context.h index 0562bacb7b9..2eee0dab524 100644 --- a/security/selinux/ss/context.h +++ b/security/selinux/ss/context.h @@ -55,6 +55,29 @@ out: return rc; } +/* + * Sets both levels in the MLS range of 'dst' to the low level of 'src'. + */ +static inline int mls_context_cpy_low(struct context *dst, struct context *src) +{ + int rc; + + if (!selinux_mls_enabled) + return 0; + + dst->range.level[0].sens = src->range.level[0].sens; + rc = ebitmap_cpy(&dst->range.level[0].cat, &src->range.level[0].cat); + if (rc) + goto out; + + dst->range.level[1].sens = src->range.level[0].sens; + rc = ebitmap_cpy(&dst->range.level[1].cat, &src->range.level[0].cat); + if (rc) + ebitmap_destroy(&dst->range.level[0].cat); +out: + return rc; +} + static inline int mls_context_cmp(struct context *c1, struct context *c2) { if (!selinux_mls_enabled) -- cgit v1.2.3