Lines Matching full:hat
1053 * Returns: label for hat transition OR ERR_PTR. Does NOT return NULL
1059 struct aa_profile *root, *hat = NULL; in build_change_hat() local
1073 hat = aa_find_child(root, name); in build_change_hat()
1074 if (!hat) { in build_change_hat()
1077 hat = aa_new_learning_profile(profile, true, name, in build_change_hat()
1079 if (!hat) { in build_change_hat()
1090 name, hat ? hat->base.hname : NULL, in build_change_hat()
1091 hat ? &hat->label : NULL, GLOBAL_ROOT_UID, info, in build_change_hat()
1093 if (!hat || (error && error != -ENOENT)) in build_change_hat()
1095 /* if hat && error - complain mode, already audited and we adjust for in build_change_hat()
1096 * complain mode allow by returning hat->label in build_change_hat()
1098 return &hat->label; in build_change_hat()
1101 /* helper fn for changing into a hat
1103 * Returns: label for hat transition or ERR_PTR. Does not return NULL
1109 struct aa_profile *profile, *root, *hat = NULL; in change_hat() local
1123 /*find first matching hat */ in change_hat()
1124 for (i = 0; i < count && !hat; i++) { in change_hat()
1136 hat = aa_find_child(root, name); in change_hat()
1138 if (!hat) { in change_hat()
1141 /* complain mode succeed as if hat */ in change_hat()
1142 } else if (!PROFILE_IS_HAT(hat)) { in change_hat()
1143 info = "target not hat"; in change_hat()
1145 aa_put_profile(hat); in change_hat()
1148 aa_put_profile(hat); in change_hat()
1150 /* found a hat for all profiles in ns */ in change_hat()
1158 * hat supplied. This is done due how userspace interacts with in change_hat()
1164 info = "hat not found"; in change_hat()
1205 * aa_change_hat - change hat to/from subprofile
1206 * @hats: vector of hat names to try changing into (MAYBE NULL if @count == 0)
1207 * @count: number of hat names in @hats
1208 * @token: magic value to validate the hat change