Re: [PATCH v5 04/12] S.A.R.A.: generic DFA for string matching
From: Jann Horn <jannh@google.com>
Date: 2019-10-07 12:40:42
Also in:
linux-mm, lkml
On Sun, Oct 6, 2019 at 6:49 PM Salvatore Mesoraca [off-list ref] wrote:
Salvatore Mesoraca [off-list ref] wrote:quoted
Jann Horn [off-list ref] wrote:quoted
On Sat, Jul 6, 2019 at 12:55 PM Salvatore Mesoraca [off-list ref] wrote:quoted
Creation of a generic Discrete Finite Automata implementation for string matching. The transition tables have to be produced in user-space. This allows us to possibly support advanced string matching patterns like regular expressions, but they need to be supported by user-space tools.AppArmor already has a DFA implementation that takes a DFA machine from userspace and runs it against file paths; see e.g. aa_dfa_match(). Did you look into whether you could move their DFA to some place like lib/ and reuse it instead of adding yet another generic rule interface to the kernel?Yes, using AppArmor DFA cloud be a possibility. Though, I didn't know how AppArmor's maintainers feel about this. I thought that was easier to just implement my own. Anyway I understand that re-using that code would be the optimal solution. I'm adding in CC AppArmor's maintainers, let's see what they think about this.I don't want this to prevent SARA from being up-streamed. Do you think that having another DFA here could be acceptable anyway? Would it be better if I just drop the DFA an go back to simple string matching to speed up things?
While I think that it would be nicer not to have yet another implementation of the same thing, I don't feel strongly about it.