Lines Matching refs:dfa
203 * aa_compute_fperms - convert dfa compressed perms to internal perms
204 * @dfa: dfa to compute perms for (NOT NULL)
205 * @state: state in dfa
208 * TODO: convert from dfa + state to permission entry, do computation conversion
213 struct aa_perms aa_compute_fperms(struct aa_dfa *dfa, unsigned int state,
216 /* FIXME: change over to new dfa format
217 * currently file perms are encoded in the dfa, new format
218 * splits the permissions from the dfa. This mapping can be
224 perms.allow = map_old_perms(dfa_user_allow(dfa, state));
225 perms.audit = map_old_perms(dfa_user_audit(dfa, state));
226 perms.quiet = map_old_perms(dfa_user_quiet(dfa, state));
227 perms.xindex = dfa_user_xindex(dfa, state);
229 perms.allow = map_old_perms(dfa_other_allow(dfa, state));
230 perms.audit = map_old_perms(dfa_other_audit(dfa, state));
231 perms.quiet = map_old_perms(dfa_other_quiet(dfa, state));
232 perms.xindex = dfa_other_xindex(dfa, state);
237 if (ACCEPT_TABLE(dfa)[state] & 0x80000000)
239 if (ACCEPT_TABLE(dfa)[state] & 0x40000000)
247 * @dfa: to match against (MAYBE NULL)
249 * @name: string to match against dfa (NOT NULL)
253 * Returns: the final state in @dfa when beginning @start and walking @name
255 unsigned int aa_str_perms(struct aa_dfa *dfa, unsigned int start,
260 state = aa_dfa_match(dfa, start, name);
261 *perms = aa_compute_fperms(dfa, state, cond);
274 aa_str_perms(profile->file.dfa, profile->file.start, name, cond, perms);
380 /* aa_str_perms - handles the case of the dfa being NULL */
381 state = aa_str_perms(profile->file.dfa, profile->file.start, lname,
388 state = aa_dfa_null_transition(profile->file.dfa, state);
389 aa_str_perms(profile->file.dfa, state, tname, cond, &perms);
411 aa_str_perms(profile->file.dfa, profile->file.start, tname, cond,