• Home
  • Raw
  • Download

Lines Matching refs:lsm

101 static bool __init is_enabled(struct lsm_info *lsm)  in is_enabled()  argument
103 if (!lsm->enabled) in is_enabled()
106 return *lsm->enabled; in is_enabled()
112 static void __init set_enabled(struct lsm_info *lsm, bool enabled) in set_enabled() argument
118 if (!lsm->enabled) { in set_enabled()
120 lsm->enabled = &lsm_enabled_true; in set_enabled()
122 lsm->enabled = &lsm_enabled_false; in set_enabled()
123 } else if (lsm->enabled == &lsm_enabled_true) { in set_enabled()
125 lsm->enabled = &lsm_enabled_false; in set_enabled()
126 } else if (lsm->enabled == &lsm_enabled_false) { in set_enabled()
128 lsm->enabled = &lsm_enabled_true; in set_enabled()
130 *lsm->enabled = enabled; in set_enabled()
135 static bool __init exists_ordered_lsm(struct lsm_info *lsm) in exists_ordered_lsm() argument
140 if (*check == lsm) in exists_ordered_lsm()
148 static void __init append_ordered_lsm(struct lsm_info *lsm, const char *from) in append_ordered_lsm() argument
151 if (exists_ordered_lsm(lsm)) in append_ordered_lsm()
158 if (!lsm->enabled) in append_ordered_lsm()
159 lsm->enabled = &lsm_enabled_true; in append_ordered_lsm()
160 ordered_lsms[last_lsm++] = lsm; in append_ordered_lsm()
162 init_debug("%s ordering: %s (%sabled)\n", from, lsm->name, in append_ordered_lsm()
163 is_enabled(lsm) ? "en" : "dis"); in append_ordered_lsm()
167 static bool __init lsm_allowed(struct lsm_info *lsm) in lsm_allowed() argument
170 if (!is_enabled(lsm)) in lsm_allowed()
174 if ((lsm->flags & LSM_FLAG_EXCLUSIVE) && exclusive) { in lsm_allowed()
175 init_debug("exclusive disabled: %s\n", lsm->name); in lsm_allowed()
214 static void __init prepare_lsm(struct lsm_info *lsm) in prepare_lsm() argument
216 int enabled = lsm_allowed(lsm); in prepare_lsm()
219 set_enabled(lsm, enabled); in prepare_lsm()
223 if ((lsm->flags & LSM_FLAG_EXCLUSIVE) && !exclusive) { in prepare_lsm()
224 exclusive = lsm; in prepare_lsm()
225 init_debug("exclusive chosen: %s\n", lsm->name); in prepare_lsm()
228 lsm_set_blob_sizes(lsm->blobs); in prepare_lsm()
233 static void __init initialize_lsm(struct lsm_info *lsm) in initialize_lsm() argument
235 if (is_enabled(lsm)) { in initialize_lsm()
238 init_debug("initializing %s\n", lsm->name); in initialize_lsm()
239 ret = lsm->init(); in initialize_lsm()
240 WARN(ret, "%s failed to initialize: %d\n", lsm->name, ret); in initialize_lsm()
247 struct lsm_info *lsm; in ordered_lsm_parse() local
251 for (lsm = __start_lsm_info; lsm < __end_lsm_info; lsm++) { in ordered_lsm_parse()
252 if (lsm->order == LSM_ORDER_FIRST) in ordered_lsm_parse()
253 append_ordered_lsm(lsm, "first"); in ordered_lsm_parse()
283 for (lsm = __start_lsm_info; lsm < __end_lsm_info; lsm++) { in ordered_lsm_parse()
284 if (lsm->order == LSM_ORDER_MUTABLE && in ordered_lsm_parse()
285 strcmp(lsm->name, name) == 0) { in ordered_lsm_parse()
286 append_ordered_lsm(lsm, origin); in ordered_lsm_parse()
297 for (lsm = __start_lsm_info; lsm < __end_lsm_info; lsm++) { in ordered_lsm_parse()
298 if (exists_ordered_lsm(lsm)) in ordered_lsm_parse()
300 if (strcmp(lsm->name, chosen_major_lsm) == 0) in ordered_lsm_parse()
301 append_ordered_lsm(lsm, "security="); in ordered_lsm_parse()
306 for (lsm = __start_lsm_info; lsm < __end_lsm_info; lsm++) { in ordered_lsm_parse()
307 if (exists_ordered_lsm(lsm)) in ordered_lsm_parse()
309 set_enabled(lsm, false); in ordered_lsm_parse()
310 init_debug("%s disabled: %s\n", origin, lsm->name); in ordered_lsm_parse()
323 struct lsm_info **lsm; in ordered_lsm_init() local
337 for (lsm = ordered_lsms; *lsm; lsm++) in ordered_lsm_init()
338 prepare_lsm(*lsm); in ordered_lsm_init()
362 for (lsm = ordered_lsms; *lsm; lsm++) in ordered_lsm_init()
363 initialize_lsm(*lsm); in ordered_lsm_init()
372 struct lsm_info *lsm; in early_security_init() local
378 for (lsm = __start_early_lsm_info; lsm < __end_early_lsm_info; lsm++) { in early_security_init()
379 if (!lsm->enabled) in early_security_init()
380 lsm->enabled = &lsm_enabled_true; in early_security_init()
381 prepare_lsm(lsm); in early_security_init()
382 initialize_lsm(lsm); in early_security_init()
395 struct lsm_info *lsm; in security_init() local
403 for (lsm = __start_early_lsm_info; lsm < __end_early_lsm_info; lsm++) { in security_init()
404 if (lsm->enabled) in security_init()
405 lsm_append(lsm->name, &lsm_names); in security_init()
438 static bool match_last_lsm(const char *list, const char *lsm) in match_last_lsm() argument
442 if (WARN_ON(!list || !lsm)) in match_last_lsm()
450 return !strcmp(last, lsm); in match_last_lsm()
483 char *lsm) in security_add_hooks() argument
488 hooks[i].lsm = lsm; in security_add_hooks()
497 if (lsm_append(lsm, &lsm_names) < 0) in security_add_hooks()
2078 int security_getprocattr(struct task_struct *p, const char *lsm, char *name, in security_getprocattr() argument
2084 if (lsm != NULL && strcmp(lsm, hp->lsm)) in security_getprocattr()
2091 int security_setprocattr(const char *lsm, const char *name, void *value, in security_setprocattr() argument
2097 if (lsm != NULL && strcmp(lsm, hp->lsm)) in security_setprocattr()