Lines Matching defs:dfa
291 * verify_accept - verify the accept tables of a dfa
292 * @dfa: dfa to verify accept tables of (NOT NULL)
293 * @flags: flags governing dfa
297 static bool verify_accept(struct aa_dfa *dfa, int flags)
302 for (i = 0; i < dfa->tables[YYTD_ID_ACCEPT]->td_lolen; i++) {
303 int mode = ACCEPT_TABLE(dfa)[i];
308 if (ACCEPT_TABLE2(dfa)[i] & ~DFA_VALID_PERM2_MASK)
315 * unpack_dfa - unpack a file rule dfa
318 * returns dfa or ERR_PTR or NULL if no dfa
324 struct aa_dfa *dfa = NULL;
329 * The dfa is aligned with in the blob to 8 bytes
341 dfa = aa_dfa_unpack(blob + pad, size - pad, flags);
343 if (IS_ERR(dfa))
344 return dfa;
346 if (!verify_accept(dfa, flags))
350 return dfa;
353 aa_put_dfa(dfa);
563 profile->file.dfa = unpack_dfa(e);
564 if (IS_ERR(profile->file.dfa)) {
565 error = PTR_ERR(profile->file.dfa);
566 profile->file.dfa = NULL;
633 /* verify dfa xindexes are in range of transition tables */
634 static bool verify_dfa_xindex(struct aa_dfa *dfa, int table_size)
637 for (i = 0; i < dfa->tables[YYTD_ID_ACCEPT]->td_lolen; i++) {
638 if (!verify_xindex(dfa_user_xindex(dfa, i), table_size))
640 if (!verify_xindex(dfa_other_xindex(dfa, i), table_size))
655 if (profile->file.dfa &&
656 !verify_dfa_xindex(profile->file.dfa,