diff options
author | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2015-12-08 10:11:38 +0100 |
---|---|---|
committer | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2015-12-08 10:11:38 +0100 |
commit | d2800e9cfd6bb876f597adbb806de21774067413 (patch) | |
tree | 5236f073d5af51d5060a46d09884a55b36ea3440 /security/selinux/ss/context.h | |
parent | 3fe26611bb4999c3717d3aface0bac722b9d2653 (diff) | |
parent | afabf37012e839802f9f3819f621e16aa4acefd2 (diff) | |
download | kernel_samsung_smdk4412-d2800e9cfd6bb876f597adbb806de21774067413.zip kernel_samsung_smdk4412-d2800e9cfd6bb876f597adbb806de21774067413.tar.gz kernel_samsung_smdk4412-d2800e9cfd6bb876f597adbb806de21774067413.tar.bz2 |
Merge commit 'afabf37012e839802f9f3819f621e16aa4acefd2' into upstreaming
update from cm-13.0
Conflicts:
Makefile
crypto/algapi.c
drivers/char/diag/diagchar.h
drivers/char/diag/diagchar_core.c
drivers/misc/Makefile
kernel/timeconst.pl
Diffstat (limited to 'security/selinux/ss/context.h')
-rw-r--r-- | security/selinux/ss/context.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/security/selinux/ss/context.h b/security/selinux/ss/context.h index 45e8fb0..212e347 100644 --- a/security/selinux/ss/context.h +++ b/security/selinux/ss/context.h @@ -74,6 +74,26 @@ out: return rc; } +/* + * Sets both levels in the MLS range of 'dst' to the high level of 'src'. + */ +static inline int mls_context_cpy_high(struct context *dst, struct context *src) +{ + int rc; + + dst->range.level[0].sens = src->range.level[1].sens; + rc = ebitmap_cpy(&dst->range.level[0].cat, &src->range.level[1].cat); + if (rc) + goto out; + + dst->range.level[1].sens = src->range.level[1].sens; + rc = ebitmap_cpy(&dst->range.level[1].cat, &src->range.level[1].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) { return ((c1->range.level[0].sens == c2->range.level[0].sens) && |