Lines Matching refs:dst
41 static inline int mls_context_cpy(struct context *dst, const struct context *src)
45 dst->range.level[0].sens = src->range.level[0].sens;
46 rc = ebitmap_cpy(&dst->range.level[0].cat, &src->range.level[0].cat);
50 dst->range.level[1].sens = src->range.level[1].sens;
51 rc = ebitmap_cpy(&dst->range.level[1].cat, &src->range.level[1].cat);
53 ebitmap_destroy(&dst->range.level[0].cat);
59 * Sets both levels in the MLS range of 'dst' to the low level of 'src'.
61 static inline int mls_context_cpy_low(struct context *dst, const struct context *src)
65 dst->range.level[0].sens = src->range.level[0].sens;
66 rc = ebitmap_cpy(&dst->range.level[0].cat, &src->range.level[0].cat);
70 dst->range.level[1].sens = src->range.level[0].sens;
71 rc = ebitmap_cpy(&dst->range.level[1].cat, &src->range.level[0].cat);
73 ebitmap_destroy(&dst->range.level[0].cat);
79 * Sets both levels in the MLS range of 'dst' to the high level of 'src'.
81 static inline int mls_context_cpy_high(struct context *dst, const struct context *src)
85 dst->range.level[0].sens = src->range.level[1].sens;
86 rc = ebitmap_cpy(&dst->range.level[0].cat, &src->range.level[1].cat);
90 dst->range.level[1].sens = src->range.level[1].sens;
91 rc = ebitmap_cpy(&dst->range.level[1].cat, &src->range.level[1].cat);
93 ebitmap_destroy(&dst->range.level[0].cat);
99 static inline int mls_context_glblub(struct context *dst,
102 struct mls_range *dr = &dst->range;
151 static inline int context_cpy(struct context *dst, const struct context *src)
155 dst->user = src->user;
156 dst->role = src->role;
157 dst->type = src->type;
159 dst->str = kstrdup(src->str, GFP_ATOMIC);
160 if (!dst->str)
162 dst->len = src->len;
164 dst->str = NULL;
165 dst->len = 0;
167 rc = mls_context_cpy(dst, src);
169 kfree(dst->str);
170 dst->str = NULL;
171 dst->len = 0;